Information retrieval and display for an IVR system

ABSTRACT

This application discloses the display of stored information when creating a dialstring for use with mobile smartphones and other computer-enabled telephones. A software app recognizes input from the user (such as the initial digits of a phone number) that identifies the organization to be called, and accesses stored representations of information along with corresponding IVR phone tree information and user display preferences. The app then presents a graphical representation of all or part of the retrieved information on a display using the display preferences. The user can then respond to the graphical representation by providing selective inputs that cause the synthesis all or part of the dialstring needed to navigate the phone tree to the desired destination. Once a dialing option has been synthesized, the user may provide additional input that the system interprets as an instruction to open a phone call and dial the synthesized number.

CROSS-REFERENCE TO RELATED APPLICATIONS

This Patent Application is a Continuation-in-Part of U.S. patentapplication Ser. No. 16/450,980, filed Jun. 24, 2019 and entitled REMOTEINFORMATION RETRIEVAL AND DISPLAY FOR AN IVR SYSTEM, which is currentlypending, which in turn is a Continuation of U.S. patent application Ser.No. 15/785,439, filed Oct. 17, 2017 and entitled INFORMATION RETRIEVALAND DISPLAY FOR AN IVR SYSTEM, which issued Jun. 25, 2019 as U.S. Pat.No. 10,334,104, and which in turn is a Continuation of U.S. patentapplication Ser. No. 15/012,759, filed Feb. 1, 2016 and entitled METHODFOR VISUALIZING AN IVR SYSTEM, which issued Oct. 17, 2017 as U.S. Pat.No. 9,794,406, which in turn is a Continuation of U.S. patentapplication Ser. No. 13/999,196, filed Jan. 27, 2014 and issued Feb. 2,2016 as U.S. Pat. No. 9,253,321, all of which are incorporated herein byreference in their entirety, and which claim the benefit of U.S.Provisional Patent Application No. 61/840,190, filed on Jun. 27, 2013,which is also incorporated herein by reference in its entirety.

FIELD OF THE INVENTION

This invention relates to making phone calls, and more specifically,provides a method for pre-programming a dialing sequence, or dialstring,to allow more rapid connection to the desired destination at anorganization or company employing an interactive voice response (IVR)system. The method, typically implemented in software as a application(or “app”) on a smartphone with a touchscreen display, recognizes theintention of the user to make a call to an organization from userinputs, and responds by presenting a graphical representation of all orpart of the destination IVR phone tree on the display of the user'sdevice. The user can then select the desired destination in the IVR treethrough interaction with the display. Once selected, the method thencreates a dialing sequence that is then dialed upon appropriate userinput. In some embodiments, the dialing sequence is created after theuser selects a single input from the display. In some embodiments, thedialing sequence is built up through multiple interactions with thesystem through the display.

BACKGROUND OF THE INVENTION

Since the 1960s, automated interactive voice response (IVR) systems havebeen developed and are now widely employed by organizations andcompanies to direct calls coming in to the organization. The typical IVRsystem plays a pre-programmed greeting that presents options to theuser, such as “Welcome to Conglomorate Industries. Press or say 1 forcustomer service, 2 for technical support,” . . . etc., and then waitsfor a response from the user. User input can be provided from entering anumber on the phone, which triggers the generation of a touch tone(dual-tone multi-frequency (DTMF) signaling) signal, or by speaking theresponse. The IVR system then attempts to recognize the input, andswitch the call to the designated destination.

Often, the destination will again have a pre-programmed IVR response,such as “Welcome to Conglomorate customer service. Press or say 1 forcomputer products, 2 for telephone products, . . . ” etc. and the useragain must enter or say an option. This third destination may yet againhave a pre-recorded IVR response, which may even lead to a fourthdestination with a pre-programmed IVR response.

FIG. 1 illustrates the options presented in a phone tree for arepresentative IVR system, in this case, that of the United StatesCitizenship and Immigration Service (USCIS). The Top Tier 001 representsdialing the 800 number (1-800-375-5283). The 1^(st) Tier of options 011represents the two options that are presented once the system at theUSCIS answers the phone call, namely an option for proceeding in Englishor in Spanish. Once the user selects one of these options (which, forthe purpose of this illustration, will be assumed to be in English), the2^(nd) Tier 021 represents the seven options that are presented once thelanguage selection has been made. Likewise, once the user selects one ofthese 2^(nd) Tier 021 options, various 3^(rd) Tier 031 options areavailable, and upon selecting one of these 3^(rd) Tier options, various4^(th) Tier 041 options may be available, depending on the selection,etc.

When a caller wishes to interact with the USCIS, the caller wouldtypically dial 1-800-375-5283, wait for the reply, then press 1 (or 2),then wait for a reply, then press the next response, etc.

When an IVR system works well, it can direct the caller quickly to thedestination desired, while saving costs for companies and organizationsby allowing them to employ fewer human operators while still “handling”large call volumes. IVR systems are now a business service sector withrevenues of almost $2B annually, and several companies provide softwareand services to run and manage IVR systems, including: Avaya of SantaClara, Calif. (http://www.avaya.com/usa/), Cicso Systems of San Jose,Calif. (http://www.cisco.com/en/US/products/sw/custcosw/ps3651/),Genesys Telecommunications Laboratories of Daly City, Calif.(http://www.genesyslab.com/), Nuance Communications of Burlington, Mass.(http://www.nuance.com/index.htm), Verint of Melville, N.Y.(http://www.verint.com/), and Voxeo products (http://voxeo.com/) offeredby Aspect Software Group of Chelmsford, Mass.

Unfortunately, complex IVR systems can often lead to time wasted by theuser trying to navigate the tree to find the answer to a simplequestion. This often leads to frustration on the part of the user. Usersmay have inadvertently pressed the wrong key on the phone keypad,finding themselves at a destination they did not want or even recognize,with no option to go “back” in the tree to try again. Or, the IVR systemmay have misunderstand a voice response, due to a noisy phoneconnection, a user's unexpected accent or use of unusual phrasing (suchas saying “Sure” or “OK” instead of “Yes”) or simply poor voicerecognition algorithms. In such a situation, the IVR system has againdirected the user to a destination that is unknown or unwanted. The IVRsystem may also be giving instructions in a language that is not wellunderstood by the caller—the caller may wish to contact a company oragency about a topic that they are able to competently discuss, but mustlisten to often long descriptions of topics they may not understood andtherefore find additionally confusing.

Some IVR systems have grown more sophisticated, becoming more capable ofrecognizing the wide variation possible in user input. However, problemsremain, deterring users who have had bad experiences with anorganization's IVR system. Online directories, such as provided byGethuman.com (http://gethuman.com/) or Whatis.com(http://whatis.techtarget.com/reference/Bypass-IVRS-Talk-to-a-real-person-cheatsheet)have appeared to help users bypass IVR systems altogether.

Although some companies may “hide” behind confusing IVR phone trees toavoid dealing with dissatisfied customers, many organizations deployingIVR systems, such as government agencies, legitimately want to provideservice to as many callers as possible, but have budget limitations onthe number of employees or call centers they can pay to answer phones.There is therefore a need for a system that can help guide users throughthe phone trees of an IVR system quickly and efficiently.

BRIEF SUMMARY OF THE INVENTION

The invention presented here is a system for use with telephones havinga visual display, such as mobile smartphones. The system recognizes aninput from the user (such as the input of the beginning of a phonenumber) that identifies the organization to be called, and accesses astored representation of the phone tree for that organization. Thisrepresentation of the phone tree may be stored locally, or remotely inan online server. The system then presents a graphical representation ofall or part of the phone tree on the display of the telephone. The usercan then respond to the graphical representation by providing selectiveinput that triggers the system to synthesize all or part of the dialingsequence needed to navigate the phone tree to the desired destination.Once a dialing option has been completely synthesized to the user'ssatisfaction, the user may provide additional input that the system theninterprets as an instruction to open a phone call and dial thesynthesized number.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates the IVR phone tree for the US Citizenship andImmigration Service (USCIS).

FIG. 2 presents a block diagram for a smartphone comprising softwarethat executes the method of the invention.

FIG. 3 illustrates a typical home screen display for a smartphone,illustrated including an example of an icon used to launch software thatexecutes the method of the invention.

FIG. 4 presents a flowchart with the first set of steps that will beexecuted by a smartphone app according to an embodiment of the method ofthe invention.

FIG. 5 presents a flowchart with the second set of steps that will beexecuted by a smartphone app according to an embodiment of the method ofthe invention.

FIG. 6 presents a flowchart with the third set of steps that will beexecuted by a smartphone app according to an embodiment of the method ofthe invention.

FIG. 7 presents a flowchart with the fourth set of steps that will beexecuted by a smartphone app according to an embodiment of the method ofthe invention.

FIG. 8 illustrates the appearance of a smartphone executing the initialsteps of an embodiment of the method of the invention.

FIG. 9 illustrates a user generating input using a smartphone during theinitial steps of an embodiment of the method of the invention.

FIG. 10 illustrates the appearance of a smartphone screen after userinput representing a portion of a desired number to call has beenrecognized according to an embodiment of the method of the invention.

FIG. 11 illustrates the appearance of a smartphone screen after the userhas selected a phone tree (the USCIS phone tree) for further explorationaccording to an embodiment of the method of the invention.

FIG. 12 illustrates the appearance of a smartphone screen displaying the1^(st) Tier options of the USCIS phone tree according to an embodimentof the method of the invention.

FIG. 13 illustrates the appearance of a smartphone screen displaying the2^(nd) Tier options of the USCIS phone tree according to an embodimentof the method of the invention.

FIG. 14 illustrates the appearance of a smartphone screen after the userhas completed several selections of options for the USCIS phone treeaccording to an embodiment of the method of the invention.

FIG. 15A illustrates the Phone Tree for GEICO Insurance.

FIG. 15B illustrates a subset of the options under one of the 1^(st)Tier selections for the Phone Tree for GEICO Insurance.

FIG. 15C illustrates a subset of the options under one of the 2^(nd)Tier selections for the Phone Tree for GEICO Insurance.

FIG. 16 presents a flowchart with the second set of steps that will beexecuted by a smartphone app according to an embodiment of the method ofthe invention using a graphical phone tree display.

FIG. 17 illustrates the appearance of a smartphone screen executing thesecond set of steps of an embodiment of the method of the inventionusing a graphical phone tree display.

FIG. 18 illustrates a user generating input using a smartphone duringthe second set of steps of a second embodiment of the method of theinvention using a graphical phone tree display.

FIG. 19 illustrates the appearance of a smartphone executing the secondset of steps of a second embodiment of the method of the invention,using a graphical display in a language different from the language usedin the Phone Tree.

FIG. 20 illustrates the appearance of a smartphone executing thedisplays of FIG. 19 after identifying a user match for a preference fora display in larger fonts has been identified.

FIG. 21 presents a block diagram of the components of a smartphoneconfiguration used to execute an embodiment of the method of theinvention, in which the IVR database is stored using a remote storagedevice.

FIG. 22 presents a block diagram of the components of a computer systemwhich may be used to execute an embodiment of the method of theinvention.

DETAILED DESCRIPTIONS OF EMBODIMENTS OF THE INVENTION I. Introduction

What follow are detailed descriptions of embodiments of the invention,including the best mode contemplated by the inventors at this time. Itwill be recognized that these embodiments are generally implemented assoftware code written in languages such as C, Objective C, C++, Java orC# and executed on “smartphones” using operating systems such as iOS®and its variations for Apple products, various versions of the Android®operating system distributed by Google Inc., or Windows® Phone OSdistributed by Microsoft Corp. Other smartphone operating systems, suchas Symbian, Blackberry OS, QNX, Blackberry10, etc. will be known tothose skilled in the art.

II. Smartphone Structure

Although embodiments of this invention may be implemented on anyelectronic data processing system with an interface to a telephonenetwork, typical embodiments will be implemented on a “smartphone”. Ablock diagram of the components of a typical smartphone 100 upon whichthe invention may be implemented is illustrated in FIG. 2. Such asmartphone 100 will typically include a processor 101 such as amicroprocessor or other central processing unit (CPU), such as asystem-on-chip (SoC) manufactured according to the ARM processorarchitecture designed by ARM Holdings plc of Cambridge, UK, or theSnapdragon S4 architecture from Qualcomm, Inc. of San Diego, Calif. Theprocessor may be single core, or have multiple cores, and may be pairedwith additional graphics processing units (GPUs), such as a Mali GPUdesign from ARM Holdings plc, Adreno chips from Qualcomm, Inc. of SanDiego, Calif., or Tegra chips provided by Nvidia Inc. of Santa Clara,Calif.

The processor 101 will coordinate electronic signals to and from abuilt-in transceiver 190, which transmits and receives radio frequency(RF) signals to and from remote transceivers via one or more antennas199. The transceiver 190 will typically comprise both one or more RFtransmitters 191 and one or more RF receivers 192 as well as amodulator/demodulator (or modem) 195 that converts analog RF signalsinto digital signals for use within the phone, as well as convertinginternal digital signals into RF broadcast signals. The RF signalstransmitted between the smartphone 100 and a remote transceiver may alsocomprise both traffic and control signals (e.g., paging signals/messagesfor incoming calls), which are used to establish and maintaincommunication with another party or destination.

Within the smartphone 100, the processor 101 can coordinate electronicsignals from a number of sources, which will typically include internalmemory 105, often comprising transient random access memory (e.g.dynamic random access memory, or DRAM), and may also include variousinternal data storage devices 150, which are typically may be read/writemedia, or may be non-transient computer readable media, and which maycomprise flash memory devices, removable subscriber identity module(SIM) cards, microSIM cards, nanoSIM cards and the like.

The storage devices 150 may include a general purpose storage that isused to store both program instructions for the processor 101, such asthe smartphone operating system (OS) 151, as well as the programinstructions for one or more program products, or applications (“apps”)160 that may be executed using the processor 101. Aside from theseprograms, data, such as audio data, video data, configuration data,and/or other data or databases that may be accessed and/or used by theapps 160 and processor 101 may be stored as well. The storage devices150 may include a nonvolatile read/write memory, a read-only memory(ROM) and/or volatile read/write memory. Various application programminginterfaces (APIs) may be used to specify how various software componentsshould interact with each other and with the data stored in the storagedevices 150.

In some embodiments of the invention, the storage devices 150 may havestored therein an electronic database representing various IVR phonetrees 177, such as the phone tree illustrated in FIG. 1. In someembodiments of the invention, the storage devices 150 may have storedtherein an electronic representation of a Dialer Field 800 which storesdata related to a dialstring the user synthesizes for the purpose ofmaking a phone call. In some embodiments of the invention, the storagedevices 150 may have stored therein an electronic database representingan address book 188 with contact information defined by name andaddress, such as telephone numbers, email addresses and so on. The nameused for items in the contact book need not be real names of persons,but may be any combination of identifying characters.

Furthermore, the storage devices 150 may include “temporary” datastorage for a database of unsaved numbers. This “temporary” data storagemay be used for storing call lists, such as telephone numbers ofreceived or missed calls from remote parties. The storage devices 150may be considered “temporary” in the sense that unsaved numbers areautomatically deleted after a predetermined time period counted in days,weeks or months. Alternatively, the temporary data storage may hold onlya limited number of positions, working on a first-in/first-out basis. Inthis case, the storage devices 150 is “temporary” in the sense that anunsaved number is pushed step-by-step through the list by subsequentlyreceived calls until it is pushed out of the list.

The processor 101 will also coordinate electronic signals from a numberof input devices, such as: one or more microphones 110, various inputbuttons 112 (e.g. for controlling sound volume), a “home” button 115,one or more cameras 118, or other inputs 119 such as proximity sensors,ambient light sensors, and the like. The processor 101 may alsocoordinate electronic signals from built-in devices 108 such as anaccelerometer, magnetometer, GPS sensor, or gyroscopic sensor and thelike.

The processor 101 will also coordinate electronic signals to a number ofoutput devices, such as: one or more speakers 140, or various otheroutput devices 149. A variety of other input 119 and outputs 149 can becoordinated through a docking connector, audio jacks, or other outputconnections.

In a typical smartphone 100, the processor 101 will also coordinateelectronic signals to and from a touchscreen 130. The touchscreen 130 istypically a flat device comprising both a display 230 having an array ofeither illuminated liquid crystal elements or light emitting diodes(LEDs) to display information, and an array of built-in touch sensors135 that may sense electrical conductivity of a finger, or sensepressure on the device through changes in electrical capacitance. Whenthe software operating on the smartphone 100 displays various images,fields, and graphics on different portion of the display 230, variouscorresponding inputs from the sensors 135 provided by the user can begenerated by touching the corresponding portions of the display. The appand operating system software interpret the pressure and/or temperatureand/or conductivity at different points of the screen differently, whichallows, for example, the virtual “pressing of a button” when the usertouches the image of a “button” on a screen, or the use of a pinchingmotion by two fingers to virtually “zoom-in” (or the opposite motion to“zoom-out”) a displayed image.

Software code written for smartphones is often packaged as a dedicatedapplication, or “app” 160. The smartphone operating system will allowthe display of a graphical icon, stored typically as a 57×57 pixel PNGfile, on the touchscreen display, and when the position on the screenwhere the icon is displayed is touched (or, depending on the smartphoneand the operating system, pressed and held under pressure for apredetermined time), the signal generated is interpreted as aninstruction to launch the software program associated with the icon.Various apps may additionally provide a virtual “button” on the displaylabeled “close” that the user can press and hold to stop the executionof the app and return to the smartphone's home screen.

The smartphone operating system generally provides the code forinstructions that, among other things, interpret the signal strength andduration of a touch on the screen into instructions for executingvarious portions of stored code. The instruction code for apps mustgenerally conform to the standards for the operating system under whichthey were written. One standard for the iPhone produced by Apple Inc. ofCupertino, Calif., is the “iOS App Programming Guide” (Apple Inc. Oct.23, 2013)(https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/iPhoneAppProgrammingGuide.pdf).Others will be available for other smartphone operating systems, such asAndroid, Microsoft Windows OS, etc. and will be known to those skilledin the art.

Typical embodiments of the method disclosed with this Application can beimplemented by means of software code designed to run on a smartphone100. The smartphone may execute instructions encoded in the softwarethat use the various built-in functions available to smartphones, suchas dialing a phone number, or accessing data stored in the Internetthrough a Wi-Fi or some other data connection, such as those typicallyprovided by the smartphone's data carrier. The software code comprisingthe instructions for executing the method of the invention may typicallybe stored on local non-transient memory storage 150 within thesmartphone 100, such as a flash memory storage device. When descriptionsof the method herein are provided, such as “the user presses a button”,or “the user presses and holds the key”, they are to be typicallyunderstood as the pressing of virtual “buttons” as displayed on thesmartphone touchscreen, as managed through the non-transient stored codeof the app and the operating system, and do not represent real physical“buttons”.

FIG. 3 illustrates an example of a typical smartphone 100 in which anembodiment of the invention has been implemented. In this example, thesmartphone 100 is drawn to appear as a product similar to an iPhonemanufactured by Apple Inc. Although this illustration drawn to reflectthe appearance used in a particular smartphone, other configurations andoperating systems for smartphones will be known to those skilled in theart, and these illustrations are not intended to limit the invention toa particular type or style of smartphone.

The smartphone 100 may comprise an outer casing 200, one or more cameras218, one or more microphones 210-A and 210-B, a speaker 240, variousphysical buttons 212 for controls such as audio volume adjustment, ahome button 215 for controlling the functions of the phone (turning thephone on or off, answering the phone, reverting to the home screen,etc.) one or more cameras 218, and a touchscreen display 230. A dockingconnection 249 may also be provided to allow external inputs 119 andoutputs 144, as previously described, to be connected.

For most smartphone operating systems, there is typically a portion 232of the touchscreen display 230 reserved for displaying items dictated bythe phone operating system no matter which app is running, and thisportion 232 is used to display items such as the time of day, phonesignal strength, remaining battery life, etc. Other portions of thetouchscreen display 230 can be designated to display various icons 235,each representing a stored software program which can be executed by thephone. The graphical file for the icon, typically a file in a portablenetwork graphics format (also known as a .PNG file) will typically begoverned by the smartphone operating system, and will be stored on thestorage devices 150 such as flash memory built into the smartphone 100.Certain portions 233 of the display 230 may be designated to displayspecific, commonly used icons, while other portions may be moregenerally used.

In some embodiments of the invention, the software or “app” implementingthe methods of the invention will also have an icon 250. The executionof this software code can be initiated by the user touching thesmartphone touchscreen at the position the icon 250 is displayed,effectively pressing the “button” for the app to launch the program itrepresents.

For the methods of the invention, there are several embodiments that maybe designed, depending on the structure and detail present in the phonetree. For a phone tree such as the USCIS phone tree of Table I and FIG.1, the IVR options can be quite detailed and do not lend themselves torepresentation as simple single “buttons” on a phone display. Instead,an embodiment of the method illustrated in FIGS. 4 through 14 may beused to provide visual navigation through the phone tree.

III. A First Phone Tree Embodiment: Sequential Option Selection

A. The USCIS Phone Tree.

Table I (presented in 9 parts) presents an example for a phone tree fora government agency, in this case the United States Citizenship andImmigration Service (USCIS). This phone tree has several tiers ofresponses available to the user, in both English and Spanish. FIG. 1presents these same tiers of options for the USCIS Phone tree of Table Iin a graphical illustration.

In the Top Tier 001, the direct dial phone number is represented. Thisusually comprises a country code (in the case of the US, the singledigit “1”), followed by a 3 digit Area Code (in this case, the toll freeindicator “800”), a 3-digit prefix (in this case, “375”) and a 4-digitnumber (in this case, “5283”).

In the 1^(st) Tier 011, the first set of options presented to the calleris presented. In the case of the USCIS, The 1^(st) Tier choices for theuser allow the selection of language with English or Spanish as options.

In the 2^(nd) Tier 021, the further options provided when one of the1^(st) Tier options is selected are listed. In this case, seven optionsare provided: 0, 1, 2, 3, 4, 6, and 9. The same numerical options areprovided for English and Spanish. This Tier is the one generallyreferred to in this phone tree as the “Main Menu”.

In the 3^(rd) Tier 031, the further options provided when one of the2^(nd) Tier options is selected are listed. The number of choicesvaries, depending on the 2^(nd) Tier selection made. If “0” is selectedas the 2^(nd) Tier option, the only 3^(rd) Tier options are 1 and 9. If“1” is selected as the 2^(nd) Tier option, the 3^(rd) Tier options are1, 2, 3, 4, 5, 6, 7 and 9. Note that a subset 037 of the 3^(rd) Tieroptions will be uniform options no matter what 2^(nd) Tier option hasbeen selected: “7” will cause the immediate 3^(rd) Tier message to berepeated, and “9” returns to the Main Menu (in this case, to the 2^(nd)Tier 021).

TABLE I USCIS Phone Tree USCIS Top Tier: 1-800-375-5283 1^(st) Tier2^(nd) Tier 3^(rd) Tier 4^(th) Tier 1. To continue in English 0. If youcame to U.S. as a child and you're seeking information regarding the newprocess for deferred action . . . Individuals may be considered fordeferred action as a childhood arrival if they: were under the age of 31as of Jun. 15, 2012; came to the U.S. before reaching his or her 16thbirthday; have continuously resided in the U.S. since Jun. 15, 2007 upto the present time; were present in the U.S. on Jun. 15, 2012 and atthe time of making his or her request for consideration of deferredaction with USCIS; entered without inspection before Jun. 15, 2012, orhis or her lawful immigration status expired as of Jun. 15, 2012; arecurrently in school; have graduated or obtained a certificate forcompletion from high school; has obtained a general educationdevelopment certificate; or is an honorably discharged veteran of thecoast guard or armed forces of the U.S.; have not been convicted of afelony, significant misdemeanor, 3 or more other misdemeanors, and doesnot otherwise pose a threat to national security or public safety.Individuals may begin to request consideration of deferred action forchildhood arrivals on Aug. 15, 2012. Please do not file before Aug. 15.If you file early, your request will be rejected. For furtherinformation, please visit our website at uscis.gov/childhoodarrivals. 1.For more information . . . 6. To speak with a representative about thistopic. 7. To repeat this message. 8. To hear the previous message. 9. Toreturn to the Main Menu. 7. To repeat this message. 9. To return to theMain Menu. 6. For information about the new process to apply for aprovisional unlawful presence waiver USCIS is implementing a processchange that will allow certain immediate relatives of US citizens whoare physically present in the US and are seeking permanent residence toapply for and receive provisional unlawful presence waivers. USCIS willbegin acceptng applications for provisional unlawful presence waiversbeginning Mar. 4, 2013. To apply, you must submit form I-601A, theapplication for a provisional unlawful presence waiver. This form willbe available on our website at uscis.gov once this process change is ineffect. USCIS will not accept applications for provisional unlawfulpresence waivers until the effective date of Mar. 4, 2013. Anyapplications received before that date will be rejected, and theapplication will be returned to the sender. 1. For more information . .. For comprehensive information about the eligibility requirements andthe application process for the provisional unlawful presence waiverprogram, please visit our website at uscis.gov. 6. To speak with arepresentative about this topic . . . 7. To repeat this message. 8. Tohear the previous message. 9. To return to the Main Menu. 7. To repeatthis message 9. To return to the Main Menu. 1. To continue in English(cont.) Please listen carefully. The options on our Main Menu havechanged. Customer service representatives are available on this linefrom from 8 AM to 6 PM Monday through Friday. 1. For immigrationservices, such as case status, forms, locating a USCIS office, civilsurgeons, change of address, or if you're an attorney, community basedorganization, or employer . . . 1. To check the status of an applicationthat you have submitted, or to report a problem with your application .. . 1. If you know your receipt number . . . 2. If you do not know whata receipt number is, if you do not know where to find it, or if you havelost your receipt number . . . 7. To repeat this message. 8. To hear theprevious message. 9. To return to the Main Menu. 2. For services andinformation for attorneys, CBOs, and employers. 1. If you are anattorney, a credited representative, or community based organization whohas filed a G28 for a client . . . 2. If you are an employer enquiringabout the status of a petition you have filed on behalf of your employee. . . If you are an employer calling for general information, pleasecall the toll free number for employers at 1-800-375-2099. 7. To repeatthis message. 8. To hear the previous message. 9. To return to the MainMenu. 3. To order forms from USCIS. 1. If you know the name or thenumber of the Form that you want to order . . . 2. If you are not surewhich form you need, or if you have questions about filing a form . . .To see a complete list of USCIS forms and to see which forms you canfile electronically, please visit our website at uscis.gov. If you needto order 50 or more copies of a form, please contact the GovernmentPrinting Office to inquire about which forms are available in largequantities. The phone number is 202-512-1800. 7. To repeat this message.8. To hear the previous message. 9. To return to the Main Menu. 4. Forthe location of the USCIS field office or the Application Support Centerthat serves your area . . . 1. For information about the USCIS FieldOffice that serves your area . . . 2. For information about theApplication Support Center that serves your area ... 3. To arrange for aspecial accommodation during a visit to a USCIS facility . . . 7. Torepeat this message. 8. To hear the previous message. 9. To return tothe Main Menu. 1. To continue in English (cont.) 1. For immigrationservices (cont.) 5. To find a civil surgeon in your area who can performan immigration medical examination . . . Welcome to our Civil SurgeonLocator. To find a physician who can perform a immigration medicalexamination, we will ask you to enter a zip code for either: your home,place of work, or destination where you will be traveling. Anyauthorized civil surgeon may perform this examination. When you contactthe doctor's office, please inform them you need an USCIS immigrationmedical examination. 1. To proceed to our Civil Surgeon Locator. 7. Torepeat this message. 9. To return to the Main Menu. 6. To change youraddress . . . 1. If you have already moved and you need to change youraddress. 2. For general information about changing your address as anApplicant, petitioner, or beneficiary. 3. For general information aboutchanging your address as the financial sponsor for an immigrant foreignnational. 7. To repeat this message. 8. To hear the previous message. 9.To return to the Main Menu. 7. To repeat this message. 9. To return tothe Main Menu. 2. For information about immigration benefits andprocesses, such as interviews, biometrics, requests for evidence,background checks, or processing times . . . 1. For general filinginformation . . . 1. For filing information about naturalization. 2. ForPermanent Residents. 3. For US Citizens. 4. For Refugees and Asylees. 5.For Employers and Investors. 6. For Non-Immigrants. 7. To repeat thismessage. 8. To hear the previous message. 9. To return to the Main Menu.2. If you currently have a pending case, and want general informationabout interview or biometric appointments, requests for evidence,background checks, or case processing times . . . 1. If you wantinformation about biometrics appointments at your local ApplicationSupport Center . . . 2. If you want information about interviewappointments . . . 3. If you want information about requests forevidence . . . 4. If you want information about background checks . . .If you want information about case processing times, please visit ourwebsite at www.uscis.gov 1. To continue in English (cont.) 2. Forinformation about immigration benefits and processes (cont.) 2. If youcurrently have a pending case (cont.) 7. To repeat this message. 8. Tohear the previous message. 9. To return to the Main Menu. 3. Forinformation about approved, denied, or rejected cases. 1. If you arecalling about an approved case. 2. If you are calling about a deniedcase. 3. If you are calling about a rejected case. 7. To repeat thismessage. 8. To hear the previous message. 9. To return to the Main Menu.4. To hear current priority dates for immigrant visas and theavailability of diversity lottery numbers . . . 1. For information aboutVisa cutoff dates. 2. If you are a US Citizen who is Sponsoring a familymember. 3. If you are a Permanent Resident who is Sponsoring a familymember. 4. If you are an Employer who is Sponsoring an employee. 5. Ifyou are a Self Sponsoring Investor. 6. For the Immigrant Visa Lottery .. . 7. To repeat this message. 8. To hear the previous message. 9. Toreturn to the Main Menu. 7. To repeat this message. 9. To return to theMain Menu. 3. For Information about special programs and otherresources, such as the Kaplan class action lawsuit, temporary protectedstatus, the Freedom of Information Act, Privacy Act, or to report animmigration scam . . . 1. For information about the settlement in theKaplan Class Action Suit. 2. For information about temporary protectedstatus program for Haiti. 3. For information about temporary protectedstatus program for all other countries. 4. For information about theFreedom of Information Act. 5. For other resources . . . 1. To hear howto report an immigration scam to federal or state law enforcementauthorities . . . 2. To report a violation of Immigration Law. 3. Tohear contact information for other Government Agencies . . . 4. To hearabout representation by an attorney or other party in a matter beforeUSCIS or the Board of Immigration Appeal . . . 5. For information aboutthe USCIS administrative site visit and verification program . . . 7. Torepeat this message. 8. To hear the previous message. 9. To return tothe Main Menu. 7. To repeat this message. 9. To return to the Main Menu.4. If you are experiencing technical difficulty with the electronicimmigration system . . . 9. To repeat this Main Menu, or to return to itat any time during your call. To end your call, hang up. 2. Paracontinuar en Español 0. Si usted ingreso a los Estados Unido como uninfante y esta buscando información sobre el nuevo proceso de accióndiferida . . . Individuos pueden ser considerados para acción diferidasi ellos: fueron menores de 31 años de edad a partir del 15 de Junio del2012; ingresaron a los Estados Unidos antes de los 16 años de edad; hanresidido continuamente en los Estados Unidos por un período mínimo de 5años antes del 15 de Junio del 2012, y han residido continuamente en losEstados Unidios desde el 15 de Junio del 2012; estuvieron presentes enlos Estados Unidos el 15 de Junio del 2012 y esta presente en los EstadoUnidos en el momento en que somete su solicitud de acción diferida aUSCIS; ingresaron sin inspección antes del 15 de Junio del 2012, o suestatus legal de inmigración expiró el 15 de Junio del 2012; actualmenteasisten a la escuela; haberse graduado o obtenido un certificado definalización de la escuela superior o ceder un certificado de educacióngeneral GED en Inglés; haber servido en la guardia costera o las fuerzasarmadas de los EE.UU.; no han sido encontrados culpable de un delitograve, delito menos grave de carácter significativo, multiples delitosmenos graves, o representar una amenaza a la seguridad nacional o laseguridad pública. Individuos pueden solicitar consideración para laacción diferida a partir del 15 de Agosto del 2012. Por favor nosolicite antes del 15 de Agosto. Todas las solicitudes recibidas antesdel 15 de Agosto de 2012 serán rechazadas. Para más información, porfavor visite nuestro sitio web en uscis.gov/childhoodarrivals. 1. Paraobtener más información . . . 6. Para hablar con un representante sobreeste tema 7. Para repetir este mensaje. 8. Para escuchar el mensajeanterior. 9. Para volver al menú principal. 7. Para repetir estemensaje. 9. Para volver al menú prinicipal. 6. Para obtener informaciónsobre el nuevo proceso para solicitar una extensión provisional porpresencia illegal. USCIS esta implementando un cambio de processo quepermitirá a ciertos familiares inmediatos de cuidadanos estadounidensesque estan fisicamente presentes en los Estadtos Unidos y buscan laresidencia permanente, solicitar y recibir una extensión provisional porpresencia ilegal. USCIS comienza a aceptar solicitudes para unaextensión provisional por presencia ilegal a partir del 4 de Marzo del2013. Para solicitud, debe de presentar el formulario I-601A, solicitudde extensión por precencia ilegal. Este formulario estará disponible ennuestro sitio web uscis.gov una vez que el cambio de proceso este enefecto. USCIS no acepta solicitudes de extensión provisional depresencia ilegal hasta la fecha de efectividad del 4 de Marzo del 2013.Todas las solicitudes recibidas antes de esa fecha serán rechazadas y lasolicitud será de vuelta al remitente . . . 1. Para obtener másinformación . . . Para información completa sobre los requisites deelegibilidad y el proceso de solicitud para el programa extensiónprovisional por presencia ilegal por favor visite nuestro sitio web enuscis.gov. 6. Para hablar con un representante sobre este tema 7. Pararepetir este mensaje. 8. Para escuchar el mensaje anterior. 9. Paravolver al menú principal. 7. Para repetir este mensaje. 9. Para volveral menú prinicipal. 2. Para continuar en Español (cont.) Escuchecuidadosamente, las opciones del menú principal han cambiado. Losrepresentantes del servicio al cliente están disponibles en esta líneadesde las 8am hasta las 6pm de Lunes a Viernes. 1. Para servicios deinmigración como estatus de caso, formularios, ubicar oficinas de USCIS,cirujanos civiles cambiar de dirección, o si usted es un abogado, unaorganización de la comunidad, o empleador . . . 1. Para verificar elestatus de una solicitud que ha enviado, o para reportar un problema consu solicitud . . . 1. Si usted sabe su número de recibo . . . 2. Siusted no sabe cual es el número de recibo, si no sabe donde encontrarlo,o si lo ha perdido . . . 7. Para repetir este mensaje. 8. Para escucharel mensaje anterior. 9. Para volver al menú principal. 2. Para serviciose información para abogados, organizaciones comunitarias, y empleadores. . . 1. Si usted es un abogado, representante acreditado, oorganización comunitaria que ha presentado un formulario G28 para uncliente . . . 2. Si usted es un empleador que solicita información sobreel estatus de una solicitud que ha presentado en nombre de su empleado .. . Si usted es un empleador que llama para obtener información generalcomuniquese con el numero gratuito para empleadores al 1-800-357-2099.7. Para repetir este mensaje. 8. Para escuchar el mensaje anterior. 9.Para volver al menú principal. 3. Para solicitar formularios delUSCIS. 1. Si sabe el nombre o el número de formulario que deseasolicitar . . . 2. Si no esta seguro sobre cual formulario necesita, osi tiene preguntas acerca de la presentación de un formulario . . . Paraver una lista completa de los formularios de USCIS, como los formulariosque puede presentar electrónicamente, visite nuestro sitio web enuscis.gov. Si necesita pedir 50 o más copias de un formulario,comuniquese con la oficina de imprenta gubernamental (GovernmentPrinting Office) para preguntar acerca de cual formularios estándisponibles en grandes cantidades. El número es 202-512-1800. 7. Pararepetir este mensaje. 8. Para escuchar el mensaje anterior. 9. Paravolver al menú principal. 4. Para obtener la ubicación de la oficina decampo, o el centra de apoyo de solicitudes del USCIS que presta servicioen su área . . . 1. Para información sobre la oficina local de USCIS queatiende a su area . . . 2. Para información acerca del centra de apoyode solicitudes que atiende a su área . . . 3. Para concertar un arregloespecial durante una visita a un centra de USCIS . . . 7. Para repetireste mensaje. 8. Para escuchar el mensaje anterior. 9. Para volver almenú principal. 2. Para continuar en Español (cont.) 1. Para serviciosde inmigración (cont.) 5. Para encontrar un cirujano civil en su areaquien puede realizar un examen médico de inmigración . . . Bienvenido allocalizador de cirujanos civiles. Para asistir en localizar un cirujanocivil que puede hacer un examen médico de inmigración, tendrá que marcarel código postal de su hogar, de su trabajo, o del lugar al cual estaviajando. Cualquier cirujano civil que esta autorizado puede hacer elexamen. Cuando llame a la oficina del doctor, favor de informaries quedesea un examen médico de inmigración del USCIS. 1. Para proceder allocalizador de cirujanos civiles. 7. Para repetir este mensaje. 9. Paravolver al menú principal. 6. Para cambiar su dirección . . . 1. Si ya seha mudado y desea cambiar su dirección. 2. Para obtener informacióngeneral sobre el cambio de su dirección, como solicitante, peticionario,o beneficiario. 3. Para obtener información general acerca de comocambiar su dirección, como patrocinador financiero de un inmigranteextranjero. 7. Para repetir este mensaje. 8. Para escuchar el mensajeanterior. 9. Para volver al menú principal. 7. Para repetir estemensaje. 9. Para volver al menú principal. 2. Para obtener informaciónsobre los beneficios y procesos de inmigración como entrevistas,biométricos, solicitud de evidencia, verificación de antecedentes, otiempos de procesamiento 1. Para obtener información general sobre lapresentación . . . 1. Para obtener información de presentación para lanaturalización. 2. Para residentes permanents. 3. Para ciudadanosEstadounidenses. 4. Para refugiados y asilados. 5. Para empleadores einversionistas. 6. Para no-inmigrantes. 7. Para repetir este mensaje. 8.Para escuchar el mensaje anterior. 9. Para volver al menú principal. 2.Si actualmente tiene un caso pendiente y desea obtener informacióngeneral sobre la entrevistas o las citas biométricas, solicitudes deevidencias, verificaciones de antecedentes o los plazos de procedimientodel caso . . . 1. Si desea información sobre las citas biométricas en elcentra de soporte de solicitudes de su localidad . . . 2. Si deseainformación sobre las citas para entrevistas . . . 3. Si deseainformación sobre las solicitudes de evidencia . . . 4. Si deseainformación sobre las verificaciones de antecedents . . . Si deseainformación sobre los plazos para el procedimiento de los casos, visitenuestro sitio web www.uscis.gov 2. Para continuar en Español (cont.) 2.Para obtener información sobre los beneficios y procesos de inmigración(cont.) 2. Si actualmente tiene un caso pendiente (cont.) 7. Pararepetir este mensaje. 8. Para escuchar el mensaje anterior. 9. Paravolver al menú principal. 3. Para obtener información sobre los casosaprovados, rechasados, o negados. 1. Si esta llamando para averiguarsobre un caso aprobado. 2. Si esta llamando para averiguar sobre un casonegado. 3. Si esta llamando para averiguar sobre un caso rechazado. 7.Para repetir este mensaje. 8. Para escuchar el mensaje anterior. 9. Paravolver al menú principal. 4. Para escuchar las fechas actuales deprioridad para las visas de inmigrantes y la disponibilidad de losnúmeros de la lotería de diversidad . . . 1. Para obtener informaciónsobre las fechas límite de las visas. 2. Si es ciudadano de los EstadosUnidos y patrocinador de un miembro familiar. 3. Si es residentepermanente y patrocinador de un miembro familiar. 4. Si es un empleadory patrocinador de un empleado. 5. Si es inversionista auto patrocinado.6. Para la lotería de visas de inmigrante. 7. Para repetir este mensaje.8. Para escuchar el mensaje anterior. 9. Para volver al menú principal.7. Para repetir est mensaje. 9. Para volver al menú principal. 3. Parainformación sobre programas especiales y otros recursos como el caso dela corte de las clases de Kaplan, servicios de protección temporal, actode libertad de información, acto de privacidad, o para denunciar unfraude de inmigración . . . 1. Para obtener información sobre laconciliación en la demanda de acción de clase de Kaplan. 2. Para obtenerinformación sobre el programa del estatus de protección temporal paraHaiti. 3. Para obtener información sobre el programa del estatus deprotección temporal para todos los demas paises. 4. Para obtenerinformación sobre la ley de libertad de información. 2. Para continuaren Español (cont.) 3. Para información sobre programas especiales yotros recursos (cont.) . . . 5. Para otros recursos . . . 1. Paraescuchar como denunciar a un fraude de inmigración a las autoridades decontenimiento de la ley federales o estadales . . . 2. Para reportar unaviolación de la ley de inmigración. 3. Para escuchar la información decontacto de otras agencias del govierno . . . 4. Para conocer acerca dela representación por un abogado u otra parte en un caso presentado anteel USCIS, o la junta de apelaciones de inmigración . . . 5. Para obtenerinformación acerca del programa administrativo de visitas deverificación de USCIS . . . 7. Para repetir este mensaje. 8. Paraescuchar el mensaje anterior. 9. Para volver al menú principal. 7. Pararepetir este mensaje. 9. Para volver al menú principal. 4. Si estaexperimentando dificultades técnicas con el sistema electrónico deinmigración . . . 9. Para repetir este menú principal o regresar encualquier momento durante su llamada. Para finalizar su llamada,cuelgue.

In the 4^(th) Tier 041, the further options provided when one of the3^(rd) Tier options is selected are listed. The number of choicesvaries, depending on the 3^(rd) Tier selection made. If “5” is selectedas the 3^(rd) Tier option after selecting “1” as the 2^(nd) Tier option,the only 4^(th) Tier options are 1, 7, 8 and 9. If “2” is selected asthe 3^(rd) Tier option after selecting “2” as the 2nd Tier option, the4^(th) Tier options are 1, 2, 3, 4, 5, 6, 7, 8 and 9. Note that a subset047 of the 4^(th) Tier options will be uniform options no matter what3^(rd) Tier option has been selected: “7” will cause the immediate4^(th) Tier message to be repeated, “8” returns to the previous tier (inthis case 3^(rd) Tier 031), and “9” returns to the Main Menu (2^(nd)Tier 021).

For a phone tree with additional tiers of information, the subsequentselections would proceed in the same way, with additional selectionspossible for each entry at the previous tier. For the USCIS phone tree,there are no additional options for 4^(th) Tier 041 selections—everychoice at 4^(th) Tier 041 either plays a pre-recorded informationmessage to address a given question, or makes a connection with a liveperson in the identified department.

III. A First Phone Tree Embodiment: Sequential Option Selection

B. Description of the Embodiment.

FIGS. 4-7 represent the steps executed by one embodiment of the methodof the invention on a smartphone having a touchscreen after initiationby the user. The embodiment of the invention described herein is for usewith a detailed phone tree. In this example, the detailed USCIS phonetree of Table I and FIG. 1 is used.

As the initial step of the method of the invention, typically triggeredby the “pressing” of the smartphone icon 250 for the app, the softwarebegins execution, noted as the “Start” step 300. This typically involvesloading the program steps into active memory 105, and their execution bythe processor 101 built into the smartphone 100.

The next step 310 will typically be a display on the touchscreen 230 ofa confirmation to the user that indicates that the app has launched(often simply the display of a logo, or a larger version of the icon).This step may optionally provide a “button” for selecting an option thatinvokes a list of previously dialed or constructed calls, as well as anoption to proceed with the keypad for the IVR dialer.

If the user elects to proceed to the dialer, in the next step 320, anactive input screen is displayed with a keypad and a display field forthe user to begin making entries. An example of such a display screen isillustrated in FIG. 8. In this illustration, a portion of thetouchscreen display 230 represents a keypad 710 consisting of twelve“buttons” 712, which correspond to a typical touchtone phone entrydevice, comprising the digits 0 through 9 and the “Star” * and “Pound” #keys. The upper part of the touchscreen display 230 comprises a portionof the display 780 designated to display the input from the user, andmay additionally comprise a cursor 781 that may turn off and on, or“blink”, as a prompt to indicate readiness for input.

Below the keypad 710, the touchscreen display 230 may additionallycomprise an alphanumeric “button” 720 to switch to optional alphanumericinput mode (which would in turn typically have a corresponding numericindicator “button” to switch back to numeric input), a “Back” button 730to undo the user's immediate input, and an “OK” button 740 that may loadthe input into the Dialer Field once the user is done.

Returning to FIG. 4, The next step 330 comprises accepting data input331 from the user. The screen displayed in this mode is illustrated inFIG. 9. The input will typically be the entry of digits, such as 8 . . .0 . . . 0 . . . 3 . . . 7 . . . 5 . . . selected by pressing some of the“buttons” 712 with a finger 701. The input portion 780 of thetouchscreen display 230 may show the data previously entered, with thecursor 781 underscoring the character being currently entered.Alternatively, if the Text Entry “button” 720 has been pressed, theentry characters may be a text entry, such as “USCIS”, which may beentered using a virtual keyboard or other text entry method that areoften built into the operating system of the smartphone 100, and may bewell known to those skilled in the art.

Returning to FIG. 4, the next step 340 compares the user input to thephone tree data stored in the IVR database 777 available to the app.This IVR database 777 will typically comprise a number of phone treedata entries, such as the tree illustrated in FIG. 1 and Table I, aswell as metadata about the tree, such as the name of the agency orcompany whose tree is being represented. The IVR database may be writtenwith any prior art database storage techniques, such as SQLite, SQL CE,HanDBase, Filemaker Go, Filemaker Bento, DriodDB, Java DB, eSQL etc. andcan be accessed using standard database query languages such as SQL.

The comparison step 340 may execute automatically, with comparisonsbeing made any time data is entered by the user. Alternatively, thesoftware may be designed to make a comparison only once the “OK”“button” 740 has been pressed, or some other user indication ofreadiness to query the phone tree is entered. The comparison step 340may make a comparison of entered numeric digits to the digits of thephone tree (for example, recognizing an entry of 8 0 0 3 7 5 . . . aspossibly corresponding to the USCIS phone number 1-800-375-5283, or mayrecognize a keypad entry of U S C I . . . as corresponding to the USCISphone number 1-800-375-5283.

If the comparison step 340 does not find a match with an element in theIVR database 777 during a predetermined time period, several options arepossible. In some embodiments, if the input is not matched, the softwarecan simply wait until further input is provided until a match is found.However, in other embodiments, the system may employ a time evaluationstep 344 set for a predetermined time (for example, for 5 seconds) afterwhich, if there is no match found by the comparison step 340, the nextstep 346 may be a display of a “No Match” message (optionallyimplemented as a temporary pop-up screen), and a return to a blankkeypad entry screen as in step 320 (and as was illustrated in FIG. 8).If, on the other hand, the time evaluation step 344 detects additionaluser input 331 in the predetermined time, the system returns to theinput step 330 to accept the input, and again makes a comparison 340with the IVR database 777, either automatically or as triggered by theuser.

In this embodiment, if the comparison step 340 identifies at least onematch for the input data 331 with one or more entries in the IVRdatabase 777, the next step 350 is a display of the matching options tothe user. It should be noted that for a given entry, for example, 8 . .. 0 . . . 0, many phone trees may be available and displayed, and onlyfurther entry of the next digits 3 7 5 . . . will further narrow theoptions displayed from the IVR database 777. In some embodiments, theuser may designate a setting within the software so that identifiedmatching entries are only displayed after a certain number of digits(for example, 6 or 7 digits) have been entered. In some embodiments, thesystem may display entries that are also “near matches”, that is, closebut differing only by a one or two, possibly mistyped, digits.

An example of a screen display corresponding to this step 350 isillustrated in FIG. 10. In this illustration, the six digits 8 0 0 3 7 5have been entered by the user, and are displayed in the upper portion780 of the touchscreen display 230, with the cursor 781 under the mostrecently entered digit. In this example, it is assumed that the systemfinds three matching phone trees stored in the IVR database 777 thatcorrespond to these initial 6 digits. These are displayed as distinctfields 752 in the display 230, one for each of the matching IVR databaseentries. The fields may be simple text and numbers, or may also includevarious images, thumbnail files or corporate logos in the display. Insome embodiments, such images or thumbnail files may provide usefulbusiness information, such as opening hours, business addresses, or evencurrent sales promotion information. For more advanced systems,information about the expected wait time that might be encountered oncethe number is called may also be displayed. This wait time informationmay be stored information for typical values retrieved from the samedatabase entry containing the images or thumbnail files, or may begenerated by accessing live wait time forecasting information from thebusiness through the Internet.

Each field 752 represents a virtual “button” that can be pressed toselect the corresponding phone tree. In this illustration, the matchingentries are listed in numeric order by the Top Tier entry (the phonenumber) for the phone tree. If there are too many entries for convenientdisplay within the screen, a standard “scroll bar” for the display mayalso be used, to allow the user to scroll down a long list of entries.In some embodiments, the matching entries may be listed in alphabeticalorder according to the metadata associated with the phone tree. The“Back” button 730 may be used to return to the keypad entry screen toenter more digits if too many matches for convenient selection have beenfound.

Returning to FIG. 4, the next step 360 comprises accepting entry data361 from the user, in the form or “pressing” the “button” for one of thephone tree options displayed. The next step 362 checks if the “Back”“button” was the input, and if so, the program returns the display tothe input screen represented by the keypad entry step 330.

However, if the result of this selection step 360 is that one of thephone tree options has been selected, the next step 370 comprisesloading the phone number corresponding to the Top Tier of that phonetree option into the Dialer Field 800. The dialer field 800 may be aseparate memory register designated by the app specifically for thispurpose, or in some embodiments may be a designated string variablewithin the program.

After the phone tree has been selected and the data for the phone treeTop Tier loaded into the Dialer Field, in the next step 380 the phonescreen is changed to now display the contents of the Dialer Field 800.An example of a screen display corresponding to this step is illustratedin FIG. 11, which shows the contents of the Dialer Field 800 in aportion 785 of the touchscreen display 230 in the upper part of thescreen, and also comprising in this embodiment a pop-up screen 795containing two “buttons” 796 & 797, with one “button” 796 giving theuser the option to “Call” the number as loaded into the dialer field,and the other “button” 797 marked “Tree” that allows the user tocontinue building the number based on the phone tree. Varioustechniques, such as a change in the size, shape, color, font, graphicselections etc. may be used to allow the user to recognize that thecontents of the portion of the display 785 showing the contents of theDialer Field 800 is from the IVR database 777 and not the same displayas the user input display 780, even though the actual digits may be thesame or similar to those displayed in the input screen 780.

Returning to FIG. 4, the next step 390 comprises accepting entry data391 from the user, in the form or “pressing” one of the two “buttons”displayed—“Call” or “Tree”. If the choice is to “Call”, the programpasses control to steps represented by “D” in FIG. 4, which initiate thephone and call the number in the dialer field, and are illustrated indetail in FIG. 7. If the choice is “Tree”, the program passes control tosteps represented by “B” in FIG. 4, which allow the user to continue tobuild the number in the dialer field, and are illustrated in detail inFIG. 5.

Turning now to FIG. 5, after the “Tree” option has been selected, asmentioned above, program passes control to steps presented here thatallow the user to continue to build the number in the Dialer Field 800.The next step 420 is to display the dialer field along with the 1^(st)Tier options for the phone tree.

A typical screen display corresponding to this step is illustrated inFIG. 12. The upper part 785 of the touchscreen display 230 illustratesthe contents of the Dialer Field 800, but now are illustrated with acursor 786 which may optionally be blinking or otherwise indicating thatthe software is now accepting input from the user. The location of thecursor 786 may be used to illustrate the Tier from which the options arebeing selected. In some embodiments, a more specific designation of theTier of the Phone Tree may be provided, such as a heading such as“1^(st) Tier” to label the options presented. In this illustration, thetwo 1^(st) Tier Options 791 from the USCIS Phone Tree are presented as“buttons” that may be “pressed” by the user to select the additionalmaterial that will be added to the contents of the Dialer Field 800.

Returning to FIG. 5, the next step 430 comprises accepting entry data431 from the user, in the form or “pressing” one of the “buttons”displayed for the 1^(st) Tier phone tree options. For the exampleillustrated in FIG. 1 and Table I (the USCIS phone tree), as well as theillustration in FIG. 12, the 1^(st) Tier Options 011 are:

1. To continue in English.

2. Para continuar en Espanol.

After one of these options has been selected, the next step 440generates a first data string 801 corresponding to the digits to beappended to the Dialer Field 800, typically represented by one or morecommas (depending on the length of pause needed for the IVR system) andthe digit of the selection. For the example of the USCIS phone tree,selecting the option of “1. To Continue in English” will append the bitstream “, 1” 801 to the number in the dialer field.

Once the 1^(st) Tier bit stream selection 801 has been appended to theDialer Field 800, the next step 450 determines if there is an additionaltier of options in the selected phone tree. If there are no options foradditional tiers available under the selection made for the 1^(st) Tier,the next step 453 may be an optional display of a message to the userthat the “Entry is Complete”, or that “All Tiers Filled”, and theprogram passes control to steps represented by “C₁” in FIG. 5 thatconclude the interaction with the stored Phone Tree, and which areillustrated in detail in FIG. 6.

However, if there are additional options for tiers available, the nextstep 460 is to display the present contents of the Dialer Field 800along with the next Tier options for the phone tree.

A typical smartphone screen display corresponding to this step for the2^(nd) Tier options for the USCIS Phone Tree is illustrated in FIG. 13.The upper part of the display 785 again illustrates the contents of theDialer Field 800, which now have the 1^(st) Tier input appended, so thecursor 786 is now placed at the location where the 2^(nd) Tier bitstream will be appended. In some embodiments, a more specificdesignation of the Tier of the Phone Tree may be provided, such as aheading such as “2^(nd) Tier” to label the options presented. In thisillustration, three of the six 2^(nd) Tier Options 792 from the USCISPhone Tree are presented as “buttons” that may be “pressed” by the userto select the additional material that will be added to the contents ofthe Dialer Field 800. A partly filled scroll bar 799 is also illustratedto the right of the options, indicating that there are more 2^(nd) Tieroptions that may be made visible by using the scroll controls typicalfor this smartphone operating system.

For the example illustrated in FIG. 1 and Table I (the USCIS PhoneTree), as well as the illustration in FIG. 13, the 2^(nd) Tier Options021 are:

-   -   0. If you came to US as a child and you're seeking information        regarding the new process for deferred action . . . .    -   1. For immigration services, such as case status, forms,        locating a USCIS office, civil surgeons, change of address, or        if you're an attorney, community based organization, or employer        . . . .    -   2. For Information about immigration benefits and processes,        such as interviews, biometrics, requests for evidence,        background checks or processing times . . . .    -   3. For Information about special programs and other resources,        such as the Kaplan class action lawsuit, temporary protected        status, the Freedom of Information Act, Privacy Act, or to        report an immigration scam . . . .    -   4. If you are experiencing technical difficulty with the        electronic immigration system . . . .    -   6. For information about the new process to apply for a        provisional unlawful presence waiver . . . .        The IVR option 9 for the 2^(nd) Tier, which gives the caller the        option to repeat the menu options, is not presented in the        visual phone tree, since the parallel presentation of options in        the visual IVR system eliminates the need to hear a menu again.

Returning again to FIG. 5, the next step 470 comprises accepting entrydata 471 from the user, in the form or “pressing” one of the “buttons”displayed for the phone tree options, or “pressing” the “button”representing the “Call” option or the “button” representing the “Store”option. In the next step 480, if either the “Call” or “Store” option hasbeen selected, the program passes control to steps represented by “C₂”in FIG. 5 that complete the creation of the number in the Dialer Field800, and which are illustrated in detail in FIG. 6. However, if one ofthe 2^(nd) Tier phone tree options has been selected, then the next step490 generates a second data string 802 corresponding to the requireddigits to be appended to the phone number in the Dialer Field 800,typically represented by one or two commas (depending on the length ofpause needed for the IVR system) and the digit of the selection. For theexample of the USCIS phone tree, selecting the option “2. ForInformation about immigration benefits and process, such as interviews,biometrics, requests for evidence, background checks or processing times. . . ” will append the bit stream, “, 2” 802 to the number in thedialer field.

Once the 2^(nd) Tier option 802 has been selected and appended to theDialer Field 800, the program proceeds back to the step 450 to determineif there is an additional tier of options in the selected phone tree. Ifthere are no options for additional tiers available under the selectionmade for the 2^(nd) Tier, the next step 453 may be an optional displayof a message to the user that the “Entry is Complete”, or that “AllTiers Filled”, and the program passes control to steps represented by“C₁” in FIG. 5 that conclude the use of the Phone Tree, and which areillustrated in detail in FIG. 6. However, if there are additionaloptions for tiers available, the next step 460 is to display the dialerfield along with the next Tier options for the phone tree.

For the example illustrated in FIG. 1 and Table I (the USCIS phonetree), the 3^(rd) Tier Options 031 after option 1 for the 1^(st) Tierand 2 for the 2^(nd) Tier have been selected are:

-   -   1. For general filing information . . . .    -   2. If you currently have a pending case, and want general        information about interview or biometric appointments, requests        for evidence, background checks, or case processing times . . .        .    -   3. For information about approved, denied, or rejected cases . .        . .    -   4. To hear current priority dates for immigrant visa and the        availability of diversity lottery numbers . . . .

The subset of repeating options 037 (corresponding to entering 7 or 9)are not presented in this list, since the parallel presentation ofoptions in the visual IVR system eliminates the need to hear a menuagain.

The next step 470 comprises accepting entry data 471 from the user, inthe form or “pressing” one of the “buttons” displayed for the phone treeoptions, or “pressing” the “button” representing the “Call” option orthe “button” representing the “Store” option. In the next step 480, ifeither the “Call” or “Store” option has been selected, the programpasses control to steps represented by “C₂” in FIG. 5 that complete thecreation of the number in the Dialer Field 800, and which areillustrated in detail in FIG. 6. However, if one of the 3^(rd) Tierphone tree options has been selected, then the next step 490 generates athird data string 803 corresponding to the required digits to beappended to the phone number in the Dialer Field 800, typicallyrepresented by one or two commas (depending on the length of pauseneeded for the IVR system) and the digit of the selection. For theexample of the USCIS phone tree, selecting the option of “1. For generalfiling information” will append the bit stream, “, 1” 803 to the numberin the dialer field.

Once the 3^(rd) Tier option 803 has been selected and appended to theDialer Field 800, the program proceeds back to the step 450 to determineif there is an additional tier of options in the selected phone tree. Ifthere are no options for additional tiers available under the selectionmade for the 3^(rd) Tier, the next step 453 may be an optional displayof a message to the user that the “Entry is Complete”, or that “AllTiers Filled”, and the program passes control to steps represented by“C₁” in FIG. 5 that conclude the use of the Phone Tree, and which areillustrated in detail in FIG. 6. However, if there are additionaloptions for tiers available, the next step 460 is to display the dialerfield along with the next Tier options for the phone tree.

For the example illustrated in FIG. 1 and Table I (the USCIS phonetree), the 4^(th) Tier Options 041 after option 1 for the 1^(st) Tier, 2for the 2^(nd) Tier and 1 for the 3^(rd) Tier have been selected are:

-   -   1. For filing information about naturalization . . . .    -   2. For permanent residents . . . .    -   3. For US Citizens    -   4. For refugees and asylees . . . .    -   5. For employers and investors . . . .    -   6. For non-immigrants . . . .        The set of repeating options 047 (corresponding to entering 7,        8, or 9) are not presented in this list, since the parallel        presentation of options in the visual IVR system eliminates the        need to hear a menu again.

The next step 470 comprises accepting entry data 471 from the user, inthe form or “pressing” one of the “buttons” displayed for the phone treeoptions, or “pressing” the “button” representing the “Call” option orthe “button” representing the “Store” option. In the next step 480, ifeither the “Call” or “Store” option has been selected, the programpasses control to steps represented by “C₂” in FIG. 5 that complete thecreation of the number in the Dialer Field 800, and which areillustrated in detail in FIG. 6. However, if one of the 4^(th) Tierphone tree options has been selected, then the next step 490 generates afourth data string 804 corresponding to the required digits to beappended to the phone number in the Dialer Field 800, typicallyrepresented by one or two commas (depending on the length of pauseneeded for the IVR system) and the digit of the selection. For theexample of the USCIS phone tree, selecting the option of “4. Refugeesand Asylees” will append the bit stream, “, 4” 804 to the number in thedialer field.

Once the 4^(th) Tier option 804 has been selected and appended to theDialer Field 800, the program proceeds back to the step 450 to determineif there is an additional tier of options in the selected phone tree. Ifthere are no options for additional tiers available under the selectionmade for the 4^(th) Tier, the next step 453 may be an optional displayof a message to the user that the “Entry is Complete”, or that “AllTiers Filled”, and the program passes control to steps represented by“C₁” in FIG. 5 that conclude the use of the Phone Tree, and which areillustrated in detail in FIG. 6. However, if there are additionaloptions for tiers available, the next step 460 is to display the dialerfield along with the next Tier options for the phone tree. For theexample of the USCIS phone tree, there are at most 4 Tiers, so theprogram will proceed to the concluding options, indicated by “C₁” andillustrated in FIG. 6.

Turning now to FIG. 6, if either all Tiers have had bit streams appendedto the Dialer Tree 800, or the “Call” or “Store” options have beenselected, the program passes control to steps presented here. If theDialer Field has been completed (for the USCIS example presented here,the number in the Dialer Field 800 will now consist of the dialstring“1,8003755283,1,2,1,4” representing the number to call to provide accessfor filing information for Refugees and Asylees), the next step 510 isto display the assembled number in the Dialer Field 800. This step, oran additional step 520, may also present the “Call” or “Store” options(as was illustrated in FIGS. 12 and 13) to the user options for the useras “buttons”.

A typical smartphone screen display corresponding to this step for theUSCIS Phone Tree is illustrated in FIG. 14. The upper part of thedisplay 785 again illustrates the contents of the Dialer Field 800,which is now complete with 1^(st), 2^(nd), 3^(rd) and 4^(th) Tier inputappended, so there is no cursor displayed. The “Call” and “Store”“buttons” 750 and 770 are also present, allowing the user to eitherinvoke the phone operations using the number in the Dialer Field 800, orto store the contents of the Dialer Field 800 for future use.

Returning to FIG. 6, the next step 530 comprises again accepting input531 from the user, in the form or “pressing” one of the “buttons”displayed.

This now places the software in a similar state to that invoked bypressing the “Call” or “Store” buttons in input step 480 of FIG. 5. Innext step 540, if the “Call” option has been selected either as anoption 480 during the construction of the Dialer Field 800, or after allDialer Field options have been exhausted, the control of the programbranches to the dialing options, indicated by “D” in FIG. 6, andillustrated in more detail in FIG. 7.

If the “Store” option has been selected, in the next step 550 theprogram provides access to a database, such as a typical addressdatabase 788 provided with smartphones, for storing the assembled phonenumber in the Dialer Field 800. The next step 560 comprises acceptinginput 561 from the user, typically in the form of identifyinginformation to be recorded as metadata about the phone number, such asan organization name and/or department. In the next step 570, both thenumber from the Dialer Field and the entered metadata 561 may be storedin the address database 788. For the example previously illustrated, theaddress database may store the dialstring “1,8003755283,1,2,1,4” alongwith identifying information such as “USCIS Refugee Info.” entered bythe user.

Once the data is stored, the program proceeds to the next step 580 inwhich the Dialer Field is displayed and the user has the option to“Call” the assembled number in the Dialer Field, or to “Close” the app.These options for the user will be presented as “buttons”. In thisexample, the options are to “Call” using the number in the Dialer Field800, or to “Close” the app.

This step 580 then accepts input 581 from the user, in the form or“pressing” one of the “buttons” displayed. In the next step 590, if the“Call” option has been selected, the program branches to the dialingoptions, indicated by “D” in FIG. 6, and illustrated in more detail inFIG. 7. If the “Close” option has been selected, in the next step 660the program returns to the initial dialer screen 310, as was illustratedin FIG. 8 or, in some embodiments, may simply shut down the app,returning the phone to the home screen, as was illustrated in FIG. 3

Turning now to FIG. 7, which represents the steps indicated by the “D”noted in FIGS. 4 and 6. Once the Dialer Field 800 has had the numberassembled, the next step 610 is to take the assembled dialstring fromthe Dialer Field 800 and pass it to the phone dialer. This will invokethe standard phone dialing commands packaged within the operating systemof the smartphone, and will make the phone call through the transceiverbuilt within the smartphone. In some embodiments, once the call iscompleted, the control of the phone will be returned to the app, whichhas remained operational in the background. The phone call will thendisplay a closing screen, which may say “Thank you for making your callwith Visual IVR”, and present the user with options to “Make anothercall”, or to “Close” the app In other embodiments, the app will closeonce the dialstring has been constructed and transferred to the phonedialer, and when the call is done, the phone will return to thesmartphone's home state.

In the next step 620, the normal dialing interface is displayed with two“buttons” provided as options: “Confirm” or “Cancel”. The next step 630comprises accepting input 631 from the user, in the form or “pressing”one of the “buttons” displayed.

In the next step 640, the program interprets this input. If the “Cancel”“button” was selected, the program passes control as indicated by the“F” noted in FIG. 7 and reverts to the “Call” or “Close” optionsindicated the prior step 580 in FIG. 6 (and, since the user choses notto call, presumably the user would immediately select the “Close”option).

However, if the “Confirm” “button” has been selected, in the next step650 the phone connection is initiated using standard commands in thesmartphone operating system API and the number from the Dialer Field 800is dialed. The number will reach the desired phone tree, and theappended suffixes with their suitably attached “pauses” (represented bycommas) will reach the selected entry in the phone tree with no need tolisten repeatedly to complex options or wait to manually enter digitsafter listening to a message.

With the initiation of the phone call in this step 650, the creation ofthe dialstring by the app is done. In some embodiments, in the finalstep 660, the app reverts to a standby state in the background while thephone call proceeds, and once the end of the call is detected, revertsto the initial start screen 310 as shown in FIG. 8. In otherembodiments, the app remains operating in the background, but thesmartphone displays the home screen for the smartphone.

IV. A Second Phone Tree Embodiment: Graphical Option Selection

A. The GEICO Phone Tree.

In the First Embodiment presented above, the user makes selectionsthrough displays on the phone in the order that they would be made ifthe user were listening to the phone tree—first, a 1^(st) Tier selectionis made, followed by a 2^(nd) Tier selection, followed by a 3^(rd) Tierselection, etc. until the user proceeds to dial, or the options areexhausted.

This type of iterative selection is useful if the options are lengthy orcomplex and do not lend themselves to simple graphical display on asmartphone screen. However, not all phone trees have entries that arethis complex. Table II (in 3 parts) presents an example for a phone treefor GEICO Insurance. As before, there are several tiers to the phonetree. However, most of these entries are considerably shorter than theoptions in the USCIS phone tree. FIGS. 15A, 15B, and 15C present thesesame tiers of options for GEICO Insurance in a graphical illustration.

Referring to Table II and FIG. 15A, in the Top Tier 002, the direct dialphone number is represented. This usually comprises a country code (inthe case of the US, the single digit “1”), followed by a 3-digit AreaCode (in this case, the toll free indicator “800”), a 3-digit prefix (inthis case, “841”) and a 4-digit number (in this case, “3000”).

In the 1^(st) Tier 012, the first set of options presented to the calleris shown. In the case of the GEICO Phone Tree, as listed in Table II,there are seven 1^(st) Tier options to choose from. Of these, options 0,4, 5, 6, and 7 have no additional Tiers beneath them. Option 0, torepeat the present menu, is not illustrated in FIG. 15A

In the 2^(nd) Tier 022, the further options provided once one of the1^(st) Tier options has been selected are shown. As listed in Table II,up to nine options are possible: 0, 1, 2, 3, 4, 6, 7 and #. Note that asubset of the 2^(nd) Tier options will be uniform options no matter what2nd Tier option has been selected: “0” will cause the immediate 2nd Tiermessage to be repeated, and “#” returns to the previous tier (in thiscase, to the 1^(st) Tier). These uniform options have not been includedin the illustration of FIG. 15A.

In the 3^(rd) Tier 032, the further options provided once one of the2^(nd) Tier options has been selected are shown. The number of optionsvaries, depending on the 2^(nd) Tier selection made. If “1” was selectedas the 2^(nd) Tier option, there are no additional 3^(rd) Tier optionsunique to “1” in the 2^(nd) Tier—selecting option “1” in this case makesa direct connection to Emergency Roadside Service. However, if “4” wasselected as the 2^(nd) Tier option, the 3^(rd) Tier options, as listedin Table II, are 0, 1, 2, 3, 4 and #. The relationship between optionsin the Tiers are represented in FIG. 15A by vertical lines. Note that,as listed in Table II, a subset of the 3^(rd) Tier options will beuniform options no matter what 3^(rd) Tier option has been selected: “0”will cause the immediate 2^(nd) Tier message to be repeated, and “#”returns to the previous tier (in this case 2^(nd) Tier). These uniformoptions have not been included in the illustration of FIG. 15A.

TABLE II GEICO Phone Tree. GEICO Top Tier: 1-800-841-3000 1^(st) Tier2^(nd) Tier 3^(rd) Tier 4^(th) Tier 1. If you're calling in regard to aclaim, an accident, or emergency roadside service Please have yourpolicy or claim number ready. 1. For emergency road service . . . 2. Forour mechanical breakdown claims department not involving an accident . .. 3. For a glass claim with no additional damage . . . 4. For anautomobile, motorcycle, or RV claim 1. If you are reporting accident orclaim for first time . . . 2. If you would like the GEICO mailingaddress or fax number The address for claims is: GEICO 1 GEICO West POBox 509119 San Diego, CA 92150-9119 The Fax number is 619-819-4004Please include the adjuster's name and the claim number on allcorrespondence. 0. To repeat this menu #. To return to the prior menu 3.If you are a medical provider seeking information on a medical claim 4.If you are calling about a claim that has already been reported 1. Ifyou know your party's extension or last name 2. Otherwise . . . #. Toreturn to the prior menu 0. To repeat this menu #. To return to theprior menu 5. For a homeowners claim 1. For a Travelers Claim 2. For aLiberty Mutual Claim 3. For a Fidelity Claim 4. For an AFI claim 5. Forother homeowner claims 0. To repeat this menu #. To return to the priormenu 6. For a boat claim 1. If you have a ski safe policy or policybegins with S. 2. For a seaworthy policy, or if policy begins with BSP3. For Travelers 0. To repeat this menu #. To return to the prior menu0. To repeat this menu #. To return to the prior menu 2. If you wouldlike a quote for a new policy or to restart a cancelled policy . . . 1.To insure your personal auto 2. If you or spouse are active duty, guard,reserve or retired military 3. If you have had a policy with GEICO inpast 6 months 4. For an existing GEICO policy 5. If you have alreadyreceived a quote 6. All others . . . 0. To repeat this menu #. To returnto the prior menu 2. If you would like a quote for a new policy . . .(cont.) 2. For business or commercial insurance 1. If you are calling toobtain insurance for fewer than 5 business vehicles 2. In you needinsurance for more than 5 business vehicles 3. For business orprofessional liability 4. For business property 5. For workerscompensation 0. To repeat this menu #. To return to the prior menu 3.For motorcycle or ATV insurance 1. If you've had a GEICO motorcycle orATV policy that has been cancelled within in last 6 months 2. For aquote on new motorcycle or ATV policy #. To return to the prior menu 4.For home or renter's insurance Please enter your property's Zip Code . .. 1. For home, renters or condo insurance 2. For mobile home insurance3. For flood insurance 9. To repeat these options #. To return to theprior menu 5. For watercraft including boats or jet skis 1. If you arecalling about a previous quote 2. If you are calling about a new quote#. To return to the prior menu 6. For RV or travel-trailer insurance 1.If you're an existing GEICO auto or RV policy holder, or if you’ve had aGEICO policy in the last 6 months 2. For a quote on a new RV ortravel-trailer policy #. To return to the prior menu 7. For a quote fora new policy for other products 1. For a new umbrella policy 2. For aflood policy 3. For identity theft protection 4. For antique orcollector cards 5. For snowmobiles 6. For term life insurance 7. Forother products 0. To repeat this menu #. To return to the prior menu 0.To repeat this menu #. To return to the prior menu 3. To setup or updatean automatic payment 1. To setup or update a debit or credit cardaccount 2. To setup or update a checking account #. To return to theprior menu 4. To make or schedule a payment 5. To check recent payments,current amount due, or due date 6. To request an insurance card 7. Tospeak with a professional insurance agent for service on an existingpolicy 0. To repeat this menu

Likewise, in the 4^(th) Tier 042, the further options provided once oneof the 3^(rd) Tier options has been selected are shown. Only a selectionof “4” in the 3^(rd) Tier leads to additional options in 4^(th) Tier,and in this case, as listed in Table II, the 4^(th) Tier options are 0,1, 2 and #. Note that a subset of the 4^(th) Tier options will beuniform options no matter what 4^(th) Tier option has been selected: “0”will cause the immediate 4^(th) Tier message to be repeated, and “#”returns to the previous tier (in this case, to the 3^(rd) Tier). Theseuniform options have not been included in the illustration of FIG. 15A.

The relative simplicity of the entries in this phone tree makes itamenable to representation as a graphical object, similar to therepresentation in FIGS. 15A, 15B and 15C. In FIG. 15A, the GEICO TopTier is represented by a single long rectangle 002 stretching across theentire graphical representation. Underneath this single Top Tierrepresentation 002 is a set of seven smaller rectangles 012,representing the 1^(st) Tier options. Underneath the 1^(st) Tier options012 are a set of rectangles 022 representing the 2^(nd) Tier options,with a subset of rectangles of the set 022 beneath each corresponding1^(st) Tier option. Underneath the 2^(nd) Tier options 022 are a set ofsquares 032 representing the 3^(rd) Tier options, with a subset ofrectangles of the set 032 beneath each corresponding 2^(nd) Tier option.Underneath the 3^(rd) Tier options 032 are a set of dots 042representing the 4^(th) Tier options, with a subset of dots of the set042 beneath each corresponding 3^(rd) Tier option.

In this representation, details for the 1^(st) Tier options are shown,but only numbers for the 2^(nd) Tier options are displayed, and detailfor the 3^(rd) and 4^(th) Tiers cannot be seen at all. However, usingstandard prior art programming interfaces, such as the standard userinterface commands for zoom (e.g. pinch-to-zoom, scroll bars, +/−zoomcontrols) for the graphic display, the detail displayed in a graphicaldisplay is allowed to scale and become visible or hidden as the image ismagnified or demagnified.

FIG. 15B illustrates a zoomed version of the options for the 1^(st) Tierselection of “1” 012-1, in which the 2^(nd) Tier options 022-1 are nowlarge enough to be legible, and the entry information can now be legiblydisplayed. In this case, however, only the numbers for the 3^(rd) Tieroptions 032-1 are displayed, and the detail of the 4^(th) Tier 042 stillcannot be seen.

Again using built-in zoom functions for the graphic information, thisdetail can be made visible. FIG. 15C illustrates a zoomed version of theoptions for the 2^(nd) Tier selection of “4” 022-1-4, in which the3^(rd) Tier options 032-1-4 are now large enough to be legible. In thiscase, the entries for the 4^(th) Tier options 042-1-4-4 are alsodisplayed, since there are only two that need to be displayed at thesame time. If more 4^(th) Tier options existed, further detail could beviewed by additional graphical zooming.

IV. A Second Phone Tree Embodiment: Graphical Option Selection

B. Description of the Embodiment.

Many of the steps that will be executed in an embodiment of theinvention using a graphical phone tree will be similar or the same asthe steps executed for the detailed phone tree, as already described. Asin the previous embodiment, illustrated in FIG. 4, the software beginsexecution with the initial step by the user “pressing” the smartphoneicon for the app, noted as the “Start” step 300. This typically involvesloading the program steps into active memory, and their execution by themicroprocessor built into the smartphone.

The initial steps of this embodiment will follow the steps alreadypresented in FIG. 4, in which the user inputs digits or characters untilthey are recognized as corresponding to a phone tree whose data has beenstored in the IVR database 777. However, in this embodiment, instead ofthe program steps passing control to the steps represented in FIG. 4 by“B” and further illustrated in FIG. 5, at this same step (marked “B” inFIG. 4), the program passes control to code that executes the stepsindicated by the character “B₁”, which are illustrated in FIG. 16.

Turning now to FIG. 16, in the next step 1610 of this embodiment, thedisplay will show the Dialer Field along with the graphic representationof the Phone Tree. The graphic display will be configured as a set ofdynamically sized objects that can act as “buttons”, such that when animage of a “button” on the display is larger than a predeterminedamount, it becomes active as an input designator. Techniques forcreating a zoomed display of a graphic representation of a dataset, anduser interactions with the display using, for example, a “two-finger”zoom technique, are common in mapping and other smartphone apps, andwill be known to those skilled in the art.

The next step 1620 is to accept user input 1621 moving within and“zooming” the graphic on the display, which the user will do to explorethe phone tree until the desired option is identified and made largeenough to become an active “button”. This designation of active orinactive may be made by any number of common techniques, such as the achange of color or contrast for the font in the “button” text (e.g.having text for an inactive “button” be represented as grey, while textfor an active “button” be designated as black) or by having a graphicdesignator, such as an outline or a change in color intensity, appear asthe “button” becomes active.

FIG. 17 illustrates a smartphone with the display showing an example ofa graphic interface for the Phone Tree according to the invention atthis step 1620 of the flow of FIG. 16. The example used for thisillustration is a portion of the GEICO Phone Tree as was shown in TableII and FIGS. 15A, 15B, and 15C. The smartphone display 230 shows agraphic representation 971 for one of the 1^(st) Tier options (in thisexample, option “1”), graphic representations (or portions thereof) 972,972-4 for three of the 2^(nd) Tier options below the displayed 1^(st)Tier option 971. Below the displayed 2^(nd) Tier option 972-4 (which islabeled “4. Automobile, Motorcycle, RV”), the display also shows agraphic representation 973 for four of the 3^(rd) Tier options. Thelarger graphical representations 971, 972, 972-4 are shown withdouble-lined borders as an example of an indication that they are“active”, i.e. can be “pressed” to make a selection, while the smallergraphical representations for the 3^(rd) Tier options 973 are shown witha single border to indicate they are too small to be “active”.

Because this graphic display is intended to be “zoomed” to allow theuser to identify their selection, various options to facilitate zoomingmay also be added to the display. A graphic to allow control of zoomingfunctions, such as the box pair 992 marked with “+” and “−” is a commoninterface for a zoom command. A vertical scroll bar 999 and a horizontalscroll bar 989 are also shown as possible interface graphics to allownavigation within the graphical object. Zoom control and navigation mayalso be achieved using various “two-finger” interactions such as atouchscreen “pinch-zoom” (moving two touched points closer or fartherapart on the touchscreen to zoom in or out), or by various“hold-and-move” techniques for interacting with the screen fornavigation.

Also displayed are “Call” and “Store” “buttons” 950 and 970, analogousto those described in the previous embodiment.

Returning to FIG. 16, once the user has identified the desired selectionin the phone tree, in the next step 1630, the user “presses” the“button”, generating an input signals 1631 that is interpreted by theprogram. The interpretation will typically follow a sequence of decisionsteps, examining the input and analyzing the nature of the data stream.Such a decision tree may follow the steps described below.

In the first decision step 1640, the program determines if the “button”pressed is in the 1^(st) tier of the phone tree. If the answer is YES,in the next step 1643 the phone tree appends a string of bits 811corresponding to the 1^(st) tier digits (as illustrated for the GEICOtree, 1^(st) Tier selection is “1” corresponds to “Regarding a Claim”,and the appended bits will typically represent a comma and a “1” (,1).For some phone trees, appending two commas (,,1) or more may be neededto accommodate predictable delays in the phone tree response time. Oncethe string of bits 811 has been appended to the dialer field, thesoftware can proceed to the steps indicated by “C₁” in FIG. 16, and thatcorrespond to the steps already illustrated in FIGS. 6 and 7 of theprevious embodiment.

If the answer to step 1640 is NO, the program proceeds to the seconddecision step 1650.

In the second decision step 1650, the program determines if the “button”pressed is in the 2^(nd) tier of the phone tree. If the answer is YES,in the next step 1653 the phone tree appends a string of bits 812corresponding to the 2^(nd) tier digits (as illustrated for the GEICOtree, 1^(st) Tier selection “1” corresponds to “Regarding a Claim” and2^(nd) Tier selection “4” corresponds to “Automobile, Motorcycle, orRV”, and the appended bits will typically represent a comma and a “1”followed by a comma and a “4” (, 1, 4). For some phone trees, appendingtwo commas (,,1 ,,4) or more may be needed to accommodate predictabledelays in the phone tree response time. Once the string of bits 812 hasbeen appended to the dialer field, the software can proceed to the stepsindicated by “C₁” in FIG. 16, and that correspond to the steps alreadyillustrated in FIGS. 6 and 7 of the previous embodiment.

An example of a selection made at the 2^(nd) Tier is illustrated in FIG.18. The Phone Tree, in this example the GEICO Phone Tree of Table II andFIGS. 15A, 15B, and 15C, is illustrated, and the user's finger 701 ispressed against a selected “button”, in this case a 2^(nd) Tierselection 972-4. The number in the display 985 corresponding to theDialer Field has been updated with the bit stream “,1,4” to reflect theselection.

If the answer to step 1650 is NO, the program proceeds to the thirddecision step 1660.

Returning to FIG. 16, in the third decision step 1660, the programdetermines if the “button” pressed is in the 3^(rd) tier of the phonetree. If the answer is YES, in the next step 1663 the phone tree appendsa string of bits 813 corresponding to the 3^(rd) tier digits (asillustrated for the GEICO tree, 1^(st) Tier selection “1” corresponds to“Regarding a Claim”, 2^(nd) Tier selection “4” corresponds to“Automobile, Motorcycle, or RV” and 3^(rd) Tier selection “4”corresponds to “Claim has been Reported”, and the appended bits willtypically represent a comma and a “1” followed by a comma and a “4”followed by another comma and a “4” (,1,4,4). For some phone trees,appending two commas (,,1 ,,4 ,,4) or more may be needed to accommodatepredictable delays in the phone tree response time. Once the string ofbits 813 has been appended to the dialer field, the software can proceedto the steps indicated by “C₁” in FIG. 16, and that correspond to thesteps already illustrated in FIGS. 6 and 7 of the previous embodiment.

If the answer to step 1660 is NO, the program proceeds to the fourthdecision step 1670.

In the fourth decision step 1670, the program determines if the “button”pressed is in the 4^(th) Tier of the phone tree. If the answer is YES,in the next step 1673 the phone tree appends a string of bits 814corresponding to the 4^(th) Tier digits (as illustrated for the GEICOtree, 1^(st) Tier selection “1” corresponds to “Regarding a Claim”,2^(nd) Tier selection “4” corresponds to “Automobile, Motorcycle, orRV”, 3^(rd) Tier selection “4” corresponds to “Claim has been Reported”and 4^(th) Tier selection “1” corresponds to “Party's Extension Known”,and the appended bits will typically represent a comma and a “1”followed by a comma and a “4” followed by another comma and a “4”followed by another comma and a “1” (,1,4,4,1). For some phone trees,appending two commas (,,1 ,,4 ,,4 ,,1) or more may be needed toaccommodate predictable delays in the phone tree response time. Once thestring of bits 814 has been appended to the dialer field, the softwarecan proceed to the steps indicated by “C₁” in FIG. 16, and thatcorrespond to the steps already illustrated in FIGS. 6 and 7 of theprevious embodiment.

If the answer to step 1670 is NO, the program proceeds to the fifthdecision step 1680.

In the fifth decision step 1580, the program determines if the “button”pressed is the “Call” “button” or the “Store” “button”. If the answer isYES, in the next step the options represented by “C₂” as illustrated inFIG. 6 and then FIG. 7 are executed, and the software proceeds to make acall using the steps as described in the previous embodiment.

In this example, the five options representing the 4 tiers, as well asan option to “Call” or “Store”, are the only input options presented tothe user. If none of the options are selected, the software will waituntil one of the options is selected. In some variants of thisembodiment, if no input is received within a certain predetermined timeperiod, a message may be displayed, optionally along with a sound cue,asking the user to make a selection. In some variants of thisembodiment, if no selection is made even after prompting, the programmay cancel or shut down, or revert to the initial input staterepresented by startup step 310 of FIG. 4.

Other variations may be known or derived by those skilled in the art.For example, after a 1^(st) Tier “button” is pressed, the program may bedesigned to display a portion of the graphical phone tree with only the2^(nd) or 3^(rd) Tier sub-options under the selected 1^(st) Tier optiondisplayed as active. The user may then select one of these options asappropriate. In some cases, such as in the GEICO phone tree under 1^(st)Tier option “2” followed by 2^(nd) Tier option “4”, the phone treerequires a zip code to be entered, so the program may be designed todisplay an additional input field to allow the input of a string ofdigits or letters. In some cases, the program may be designed to displayan “Additional Input?” message, with “Yes” or “No” options that allowadditional selections to be made.

V. Variations of the Embodiments

Two embodiments for the creation of a dialstring have been disclosed inthis Application, one with step-by-step navigation through complexoptions for a phone tree, the other with navigation by means of agraphical interface. Other embodiments and implementations of theinvention will be apparent to those skilled in the art.

One option that may be particularly useful is that of using the visualIVR interface as a replacement for a translation service, by providingthe guidance and direction for a Phone Tree in one language with menuchoices or descriptions in the graphical representations presented in adifferent language. This can be especially practical for users whostruggle to hear or understand the spoken options presented the IVRsystem, but may be able to carry on an appropriate conversation oncethey have found the right option.

As an example, although the phone tree itself is the same, a graphicalrepresentation in another language may allow a speaker of a foreignlanguage to select options more readily. This is illustrated in FIG. 19,in which the options of the GEICO Phone Tree as were shown in FIG. 17are shown, but with the text presented in Chinese (and with referencecharacters modified by appending “-C” when compared with the referencecharacters of FIG. 17). Although the ensuing call may still need to takeplace in English, the ability to navigate to the correct option may bemore comfortable for a Chinese native speaker with such a display.

In some embodiments, this variation may be achieved through adaptationof various settings for language selection that may be built in to thestructure of the app. Such setting commands are generally part of an APIfor a particular smartphone operating system, and will be known to thoseskilled in the art. The foreign language that may be used can be anylanguage used by a large enough population that may need access to aparticular phone tree, and may be especially useful if the language usesdifferent characters than the Roman letters of English. For a phone treein English, the foreign language representation may be in Chinese,Japanese, Korean, Thai, Vietnamese, Bahasa Indonesian, Hindi, Bengali,Telugu, Tamil, Urdu, Pashto, Farsi, Arabic, Hebrew, Ethiopian,Afrikaans, Russian, Ukrainian, Greek, Polish, Czech, German, Danish,Swedish, French, Italian, Spanish, Welsh, or Gaelic, among others.

In some embodiments, the system may access a user profile that containsinformation such as a language preference to execute the translation asillustrated in FIG. 19. This user profile, which may be stored on thesmartphone or remotely, and may be stored in the relational database orin a separate location, may contain various user preferences, such as,for example, a larger font for those with difficulty seeing. This isillustrated in FIG. 20, in which the options of the GEICO Phone Tree aswere shown in FIG. 19 are shown, but with the text presented using alarger font (and with reference characters modified by appending “-CC”when compared with the reference characters of FIGS. 17 and 19). Theuser profile may also store user-related business information, such asnumbers for bank accounts or insurance policies, the user's purchasinghistory, etc. that can be retrieved and also displayed to the user whenaccessing the corresponding business.

Such an adaptation of a display (e.g. larger fonts) may also take placeif certain database entries are accessed. For example, if enteringnumbers that begin to create a dialstring recognized by the database asbelonging to an ophthalmologist or an optician, font size may beincreased, under the assumption that some vision problem may exist.Likewise, entering numbers that begin to create a dialstring recognizedby the database as belonging to an a hearing aid provider may lead toany audio output volume being increased, under the assumption thathearing may be impaired.

Similar adaptations can be made for previously logged user behaviors andpreferences. If the user begins to enter a number that has beenfrequently entered before, such as calling a local pharmacy for aperiodic prescription refill, and begins to make an error entering thenumber, the system may be programmed to recognize the number asfrequently dialed at this time or month or day, and suggest thecorrection to the user.

Other embodiments of the invention may combine various elements of thetwo embodiments presented in other ways. For example, although the firstembodiment shows building a Dialer Field by appending strings one at atime as the user goes through the phone tree menus, while the secondembodiment shows the appending a single string representing an ensembleof selections, there is an alternative embodiment in which the user goesthrough the phone tree options one at a time but the final dialstring iscreated at the end of the process, appending a single string thatrepresents the ensemble of choices.

Also, although the embodiments presented have illustrated the DialerField as if it were a separate register in a storage device within thesmartphone, as a practical matter, the Dialer Field may in fact simplybe the value for a string variable within the program, and theinstructions for its assembly comprise lines of code in the softwarethat revise or update the value of the string.

Likewise, the representation of the values to be added to the DialerField may simply exist as predetermined entries in the relationaldatabase that represents the IVR phone tree. The construction of a“Dialer Field” in this embodiment is therefore the assembly of aparticular sequence of SQL commands that access the database as neededto assemble the selected options. Execution of the final SQL commandassembles the dialstring based on the selections by the user and thedatabase entries in the relational database representing the IVR

Although the embodiments presented in this Application illustrate theinvention by the creation of a dialstring using digits and commas(representing pauses), it will be known to those skilled in the art thatmany characters can be used to represent various actions in adialstring. Dialstring characters may include:

-   -   0-9 # * (Conventional phone dialer input characters)    -   , (Pause—typically 2 seconds),    -   ; (Return to beginning after dialing. Must be at the end of a        dial string)    -   W (Wait for a tone),    -   @ (Wait for a ‘quiet answer” before continuing)    -   ! (Flash (go on-hook for ½ second).    -   T (To establish touch-tone dialing)    -   P (To establish pulse dialing)    -   R (To enter reverse mode)    -   70,, (a string to disable call waiting),        Other dialstring characters may be known to those skilled in the        art.

Furthermore, although the embodiments illustrated in detail in thisApplication used phone trees in which the entries are generally singledigits, some phone trees may require the user to enter severalcharacters, such as a zip code, phone number, social security number,frequent flyer number, PIN, etc. In this case, the embodiments of theinvention would operate essentially as already presented, except thatthe code implementing the method would be designed to accept the inputof multiple digits or characters, and then appending the multi-digitinput to the dialstring, instead of appending only a single digit.

It should also be noted that the embodiments here may be combined withan additional “search” function, so that the user could simply input asearch string (such as “Kaplan lawsuit” for the USCIS phone tree), andhave the related options (e.g. 1, 3, 1) appear using a suitable userinterface, without requiring that the user go through the phone treestep by step.

VI. Embodiments Using Remote Storage

In the embodiments presented so far, and as illustrated, for example, inFIG. 2, both the software code for the app 160 and the database 177representing the IVR phone trees are present on internal storage 150within the smartphone 100. However, smartphones are often engineeredwith multiple antennas for cellular phone connection and for local wi-fiInternet connections. It may therefore be practical to store thedatabase representing the IVR phone trees on an external storage systemat a remote location, or “in the cloud”. “Cloud” data storage servicesare offered by companies such as Google Inc. of Mountain View, Calif.and Amazon Web Services of Seattle, Wash. (By “remote”, it should beunderstood that the data storage site is simply at a physical locationother than within the smartphone, and need not be “far from a center ofpopulation”).

An embodiment of the invention using remote data storage is illustratedin FIG. 21. The smartphone 100 with one or more antennas 199 can connectwirelessly to local cellular phone transceivers 1190 comprising antennas1199, or through various well known wi-fi protocols (such as Bluetooth)to local transceivers 1700 comprising antennas 1799. These wirelessconnections in turn are linked to a remote data storage facility 1000,either through a conventional telephone system 1777, or through theInternet 7777. Note: Although the antennas 199 are shown in FIG. 21 asan external attachment to the smartphone 100, in practice, the antennasfor most smartphones are built into the body of the phone.

Within the remote data storage facility 1000, storage devices 1050 suchas disk drives, flash memory and the like store a database 1077 thatrepresents one or more IVR phone trees. The remote storage devices 1050may also store backup copies of the app code 1060, a copy of one or moredialer fields 1800 (either dynamically accessed during use, or moreoften as a reference of previously called numbers), a backup copy of anaddress book 1088, and other items that may be of use to the user,either for reference or as backup files for the data stored on thesmartphone.

Within the remote facility 1000 will also be one or more data processingsystems 1001, such as routers or computers, that serve to manage thedata from the stored locations within the facility 1000 and coordinatetheir transmission. Transmission may occur through various telephoneconnections 1100, which will send data and receive instructions andrequests for data through a telephone network 1777 and cellulartransceivers 1190, which comprise one or more antennas 1199 providingconnections to the smartphone 100 by means of cellular phone signals.The data processing systems 1001 may also provide a connection to theInternet 7777, which allows the user interact through a local wi-ficonnection to a local transceiver 1700 comprising wi-fi antennas 1799,allowing instructions and requests for data from the facility 1000 to besent and data received through the Internet.

Depending on the reliability of the user's connection, embodiments ofthe invention may be configured to store everything locally on thesmartphone 100, share databases such as the IVR database betweenportions 177 on the smartphone 100 and portions 1077 in the remotefacility 1000, or may store all IVR phone trees in the database 1077 inthe remote facility 1000, accessing the data as needed.

VII. Embodiments on Other Phones

Although the embodiments described in the Application describeembodiments of the invention as implemented on a smartphone with atouchscreen display, it will be known to those skilled in the art thatnot all mobile phones (or even all smartphones) have a touchscreendisplay. In fact, many cellular phone products, such as thosetraditionally produced by Blackberry Ltd (formerly known as Research InMotion Ltd) of Waterloo, ON, Canada, comprise a display screen and aseparate keypad for entry of characters. Most of the original cellularphones prior to the introduction of the iPhone by Apple Inc. in fact areconstructed with distinct keypads and displays.

Embodiments of the invention in which the input and display are notcombined in a touchscreen but are separate elements, with input achievedby pressing dedicated physical buttons in the keypad, may still functionas well as the embodiments described here. The methods as presented aretherefore still applicable, but each virtual “pressing” of a button inthe disclosed methods will be replaced by the pressing of real buttonson the keypad, with the software code embodiment of the inventionengineered to recognize the pressing of suitable keys or keycombinations as indicative of the “selection” of an item shown in thedisplay.

It will also be recognized by those skilled in the art that, althoughthis has been described as being implemented by smartphone, anycommunication device comprising a display and a means for selectingitems shown in the display may be used for both constructing dialstringsand, if a suitable telephone connection is also available, using thedialstring to make a phone call.

VIII. Embodiments on Computers

Although the embodiments disclosed so far comprise the use of asmartphone for exploring and selecting options from a databasecomprising a representation of one or more IVR phone trees, manycomputers connected to the Internet may also be used for telephone callsusing, for example, Voice-over-Internet-Protocol (VoIP) services such asSkype™, offered by the Microsoft® Skype Division located in Luxembourgand Estonia. Using such a VoIP system, a normal desktop or laptopcomputer can become a telephone terminal for the transmission of both2-way voice and video. Embodiments of the invention may therefore alsobe implemented by a computer, using the same steps of the methodspreviously disclosed, but in which the previously described steps that“display” various items on a smartphone display are replaced by steps“displaying” the same items on one or more display devices connected tothe computer, and the previously described steps of “input” by pressing“virtual buttons” are replaced by steps in which the same input isprovided using a keyboard, mouse, or other I/O device.

FIG. 22 illustrates a block diagram of an exemplary computer system thatcan serve as a platform for portions of embodiments of the presentinvention. Computer code in programming languages such as, but notlimited to, C, C++, C#, Java®, Javascript®, Objective C®, Boo, Lua,assembly, Fortran, APL, etc., and executed in operating environmentssuch as Windows® and all its variants, Mac OS-X®, iOS®, Android®,Blackberry®, UNIX®, Linux®, etc., can be written and compiled into a setof computer or machine readable instructions that, when executed by asuitable computer or other microprocessor based machine, can cause thesystem to execute the method of the invention.

One embodiment of such a computer system 7000 comprises a bus 7007 whichinterconnects major subsystems of computer system 7000, which typicallycomprises: a central processing unit (CPU) 7001; a system memory 7005(typically random-access memory (RAM), but which may also includeread-only memory (ROM), flash RAM, or the like); an input/output (I/O)controller 7020; one or more data storage systems 7050, 7051 such as aninternal hard disk drive or an internal flash drive or the like; anetwork interface 7700 to an external network 7770, such as theInternet, a fiber channel network, or the like; and one or more drives7060, 7061 operative to receive computer-readable media (CRM) such as anoptical disk 7062, compact-disc read-only memory (CD-ROM), compact discs(CDs), floppy disks, universal serial bus (USB) thumbdrives 7063,magnetic tapes, etc.

The computer system 7000 may also comprise: a keyboard 7090; a mouse7092; and one or more various other I/O devices such as a trackball, aninput tablet, a touchscreen device, an audio microphone and the like.These I/O devices may be internal to the system, as is found, forexample, if the computer system 7000 is a laptop, or may be external tothe system, as is found in typical desktop configurations. The computersystem 7000 may also comprise a display device 7080, such as acathode-ray tube (CRT) screen, a flat panel display or other displaydevice; and an audio output device 7082, such as a speaker system. Thecomputer system 7000 may also comprise an interface 7088 to an externaldisplay 7780, which may have additional means for audio, video, or othergraphical display capabilities for remote viewing or analysis of resultsat an additional location.

Bus 7007 allows data communication between central processor 7000 andsystem memory 7005, which may comprise read-only memory (ROM) or flashmemory, as well as random access memory (RAM), as previously noted. TheRAM is generally the main memory into which the operating system andapplication programs are loaded. The ROM or flash memory can contain,among other code, the basic input/output system (BIOS) that controlsbasic hardware operation such as the interaction with peripheralcomponents. Applications resident within computer system 7000 aregenerally stored on storage units 7050, 7051 comprising computerreadable media (CRM) such as a hard disk drive (e.g., fixed disk) orflash drives.

Data can be imported into the computer system 7000 or exported from thecomputer system 7000 via drives that accommodate the insertion ofportable computer readable media, such as an optical disk 7062, a USBthumbdrive 7063, and the like. Additionally, applications and data canbe in the form of electronic signals modulated in accordance with theapplication and data communication technology when accessed from anetwork 7770 via network interface 7700. The network interface 7700 mayprovide a direct connection to a remote server via a direct network linkto the Internet via an Internet PoP (Point of Presence). The networkinterface 7700 may also provide such a connection using wirelesstechniques, including a digital cellular telephone connection, aCellular Digital Packet Data (CDPD) connection, a digital satellite dataconnection or the like.

Many other devices or subsystems (not shown) may be connected in asimilar manner (e.g., document scanners, digital cameras, etc.).Conversely, all of the devices shown in FIG. 22 need not be present topractice the present disclosure. In some embodiments, the devices andsubsystems can be interconnected in different ways from that illustratedin FIG. 22.

Code representing software instructions to implement embodiments of thepresent invention can be stored on one or more computer-readable storagemedia such as: the system memory 7005, internal storage units 7050 and7051, an optical disk 7062, a USB thumbdrive 7063, one or more floppydisks, and the like. The operating system provided for computer system7000 may be any one of a number of operating systems, such as UNIX®,Linux®, MS-DOS®, MS-WINDOWS®, OS-X® or another known operating system.

Moreover, regarding the signals described herein, those skilled in theart will recognize that a signal can be directly transmitted from oneblock to another, between single blocks or multiple blocks, or can bemodified (e.g., amplified, attenuated, delayed, latched, buffered,inverted, filtered, or otherwise modified) by one or more of the blocks.Furthermore, the computer as described above may be constructed as anyone of, or combination of, computer architectures, such as a tower, adesktop, a laptop, a workstation, or a mainframe (server) computer. Thecomputer system may also be any one of a number of other portablecomputers or microprocessor based devices such as a mobile phone, asmartphone, a tablet computer, an iPad®, an e-reader, or wearablecomputers such as smart watches, intelligent eyewear and the like.

For the embodiments of the invention as presented in this Applicationusing such a computer 7000, software code representing the equivalent ofthe app and databases comprising representations if IVR phone trees maybe read from storage devices 7050 or 7051 within the computer system7000, or from CRM such as an optical disk 7062 or USB thumbdrive 7063,and executed using the CPU 7001 and system memory 7005. The options aspreviously described as being displayed using the touchscreen display230 may now be presented on either an internal display 7080 or anexternal display 7780 connected by means of an interface 7088, and theuser may make “selections” using a keyboard 7090 and/or mouse 7092synchronized with a graphical user interface (GUI) constructed withinthe software to allow coordination of the options shown on the availabledisplays 7080 or 7780.

IX. Hardware and Software

Accordingly, embodiments of the present invention may be encoded insuitable hardware and/or in software (including firmware, residentsoftware, microcode, etc.). Furthermore, embodiments of the presentinvention may take the form of a computer program product on anon-transitory computer readable storage medium having computer readableprogram code comprising instructions encoded in the medium for use by orin connection with an instruction execution system. Non-transitorycomputer readable media on which instructions are stored to execute themethods of the invention are therefore in turn embodiments of theinvention as well. In the context of this Application, a computerreadable medium may be any medium that can contain, store, communicate,propagate, or transport the program for use by or in connection with theinstruction execution system, apparatus, or device.

The computer readable medium may be, for example but not limited to, anelectronic, magnetic, optical, electromagnetic, infrared, orsemiconductor system, apparatus, or device. More specific examples (anon-exhaustive list) of a computer readable media would include thefollowing: an electrical connection having one or more wires, a portablecomputer diskette, a random access memory (RAM), a read-only memory(ROM), an erasable programmable read-only memory (EPROM or Flashmemory), an optical fiber, and a portable compact disc read-only memory(CD-ROM).

X. Limitations

With this Application, several embodiments of the invention, includingthe best mode contemplated by the inventors, have been disclosed. Itwill be recognized that, while specific embodiments may be presented,elements discussed in detail only for some embodiments may also beapplied to others.

While specific materials, designs, configurations, platforms and processsteps have been set forth to describe this invention and the preferredembodiments, such descriptions are not intended to be limiting.Modifications and changes may be apparent to those skilled in the art,and it is intended that this invention be limited only by the scope ofthe appended claims.

What is claimed is:
 1. An electronic smartphone implemented method forcreating a telephone dialstring, comprising the steps of: in response toan input to the smartphone, accessing, by a computer within thesmartphone, an electronic relational database comprising representationsof telephone numbers, phone tree options, and user profiles, wherein thephone tree options are associated with the telephone numbers representedin the relational database, and the electronic relational databaseadditionally comprises representations of one or more additional dataobjects, wherein each of the one or more additional data objects isassociated with one or more telephone numbers in the relationaldatabase, and wherein the user profiles contain information regardinguser preferences; displaying at least one of the additional data objectsin a field on the display device of the smartphone according to theinformation regarding user preferences; accepting input from a touch tothe field to select at least one of the telephone numbers associatedwith the data object; displaying on a display device of the smartphone aset of phone tree options associated with the selected telephone number;accepting input to select at least one of the set of phone tree options;and appending, by a computer within the smartphone, a bitstringassociated with the selected phone tree option to a string comprisingbits representing the selected telephone number to create a modifieddialstring.
 2. The method of claim 1, wherein the additional dataobjects are selected from the group consisting of images, thumbnailfiles, and corporate logos.
 3. The method of claim 2, wherein theadditional data objects comprise information about a business associatedwith the phone tree options and telephone numbers, and are selected fromthe group consisting of: expected wait times, business addresses,business operating hours, and business advertisements.
 4. The method ofclaim 3, wherein the expected wait times are estimated using informationstored in the relational database.
 5. The method of claim 3, wherein theexpected wait times are estimated using information provided by thebusiness through the Internet.
 6. The method of claim 1, wherein userpreferences used in the step of displaying at least one of theadditional data objects in a field on the display device of thesmartphone comprise information regarding a preference for display font.7. The method of claim 3, wherein user preferences used in the step ofdisplaying at least one of the additional data objects in a field on thedisplay device of the smartphone comprise user-related businessinformation associated with the business.
 8. The method of claim 1,wherein the step of displaying at least one of the additional dataobjects in a field on the display device of the smartphone alsocomprises displaying the one or more telephone numbers associated withthe at least one of the additional data objects in the field on thedisplay device of the smartphone.
 9. The method of claim 1, wherein theelectronic relational database is stored using non-transitory electronicstorage devices within the smartphone.
 10. The method of claim 1,wherein the electronic relational database is stored usingnon-transitory electronic storage devices that are outside thesmartphone.
 11. The method of claim 10, wherein the electronicrelational database stored outside the smartphone is accessed by thesmartphone by means of an Internet connection.
 12. The method of claim10, wherein the electronic relational database stored outside thesmartphone is accessed by the smartphone by means of a wirelessconnection.
 13. The method of claim 1, wherein the dialstring isrepresented by a string variable.
 14. A method of making a phone callwith an electronic smartphone comprising a phone dialer, comprising:creating a dialstring according to the method of claim 1; acceptinginput to invoke the phone dialer; loading the created dialstring intothe phone dialer; and initiating a phone call using the dialstring. 15.A non-transitory computer readable medium for use in an electronic dataprocessing system within an electronic smartphone, the non-transitorycomputer readable medium having encoded upon it instructions executableby the data processing system to perform process steps comprising: inresponse to an input to the smartphone, accessing, by a computer withinthe smartphone, an electronic relational database comprisingrepresentations of telephone numbers, phone tree options, and userprofiles, wherein the phone tree options are associated with thetelephone numbers represented in the relational database, and theelectronic relational database additionally comprises representations ofone or more additional data objects, wherein each of the one or moreadditional data objects is associated with one or more telephone numbersin the relational database, and wherein the user profiles containinformation regarding user preferences; displaying at least one of theadditional data objects in a field on the display device of thesmartphone according to the information regarding user preferences;accepting input from a touch to the field to select at least one of thetelephone numbers associated with the data object; displaying on adisplay device of the smartphone a set of phone tree options associatedwith the selected telephone number; accepting input to select at leastone of the set of phone tree options; and appending, by a computerwithin the smartphone, a bitstring associated with the selected phonetree option to a string comprising bits representing the selectedtelephone number to create a modified dialstring.